asp.net-mvc – MVC模型中的数据库查询
发布时间:2020-12-16 07:23:52 所属栏目:asp.Net 来源:网络整理
导读:在MVC项目中,如果我在模型中放置LINQ查询,它是否违反MVC模式? namespace DocLibrary.Models{ public class Author { private DocLibraryContext db = new DocLibraryContext(); [Key] public Int32 AuthorId { get; set; } [StringLength(20)] public Strin
在MVC项目中,如果我在模型中放置LINQ查询,它是否违反MVC模式?
namespace DocLibrary.Models { public class Author { private DocLibraryContext db = new DocLibraryContext(); [Key] public Int32 AuthorId { get; set; } [StringLength(20)] public String Name { get; set; } .. public string GetNameById(int AuthorId) { var query = from a in db.Author where a.AuthorId == AuthorId select a.Name; return query.FirstOrDefault(); } public Author GetAuthorById(int AuthorId) { var query = from a in db.Author where a.AuthorId.Equals(AuthorId) select a; return query.FirstOrDefault(); } } 或者我应该将这些方法(GetNameById,GetAuthorById)移动到Controller? 解决方法
不,这不符合MVC模式.数据库查询在模型中完全没问题.显然,您要传递给视图的模型和视图模型之间应该有明显的区别.视图模型不应包含任何特定于数据库的内容.
绝对不.控制器的职责不是查询数据库.控制器的职责是与模型通信,构建视图模型并将此视图模型传递给视图.控制器甚至不应该知道数据库是什么. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET HttpApplication生命周期
- asp.net – IE 11中的报表查看器打印按钮
- 如何获取对默认ASP.NET页面处理程序或Web服务处理程序的引用
- asp.net-mvc – 在部分视图中传递参数 – MVC3 / Razor
- 在asp.net中输入密钥发出错误按钮
- asp.net-mvc – ASP.NET MVC页面不通过3G或某些代理服务器提
- asp.net-mvc – 使用actionlink将文本框的值从视图传递到控
- asp.net-mvc-3 – ASP.NET成员资格 – 本地登录,在Azure上失
- asp.net-mvc – 如何在backbone.js中保存模型集合?
- asp.net-mvc-3 – 专门针对Azure的代码?
推荐文章
站长推荐
- asp.net – 解决大型RewriteMap配置部分
- 使用asp.net 4.5 OAuth注册google与clientid和se
- asp.net – 将JSON发布到Controller
- asp.net-mvc – 在MVC中使用Rotativa pdf显示动态
- asp.net-mvc – 为什么DropDownListFor不能识别编
- asp.net – 实现安全的“记住我”的最佳实践
- asp.net – 在为app_offline.htm提供特定URL时,将
- asp.net-mvc-4 – URL.Action参数中的客户端值
- 二进制数据的序列化反序列化和Json的序列化反序列
- 404的ASP.NET自定义错误页面为http状态返回302
热点阅读