asp.net-mvc – 将Linq2Sql对象传递给Views有什么问题?
在
previous question,@ Darin Dimitrov
answered:
为什么将Linq2Sql对象作为模型传递是如此糟糕? 解决方法
将Linq2Sql对象作为模型传递给视图和控制器是很糟糕的原因有很多,而且在单个答案中覆盖所有这些对象是相对困难的.所以,这是我的前三名:
关注点分离 – Linq2Sql对象中嵌入了DAL逻辑,这违反了SoC.此外,您可能希望验证从视图传递的数据,这应该在模型中完成(不是控制器!).但是,如果您将此逻辑添加到L2S模型,那么您也违反了SoC(更不用说如果重新生成L2S模型,您的验证将被删除) 封装 – 您的L2S类有很多成员,您的视图和控制器可能不需要访问.一个合适的模型将封装这些成员以使它们无法访问. 可维护性和可重用性 – 在某些时候,您可能决定要更改后备存储.如果你使用你的L2S类作为模型,那么你最终会触摸很多代码来进行更改,而如果你推出自己的模型,那么你只需要担心改变你的模型而不需要其他任何东西.此外,不要弄乱你的L2S模型(参见上面的SoC)意味着它们可以跨项目重用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 使用ItemDataBound我只获得每隔一行.为什么?
- asp.net-mvc-4 – 具有外部数据和TypeScript的Ng网格:编译
- asp.net-mvc – 要查看的ASP.NET MVC 2控制器:IList还是Li
- asp.net – Web.Config奇怪的部分?
- ASP.NET网络表单的Nancy路由
- AntiForgery令牌使用ASP.NET5 Web API而不使用NET46上的Sys
- asp.net-mvc-3 – html.TextBoxFor和html.Textbox,POSTing值
- asp.net-mvc – 在Azure Active Directory B2C中按组授权
- .net – 什么是类的默认访问修饰符?
- .net – 使用log4net创建记录器库的最佳实践.是
- ASP.NET vs. Silverlight
- asp.net – Nlog数据库目标 – 是否使用keepConn
- 在ASP.NET MVC中为JavaScript生成动作URL
- asp.net-core – 在VS2017中为.NET CORE 2.0设置
- asp.net-mvc – 无法加载文件或程序集“System.W
- asp.net – ActionLink 404错误
- .NET Standard项目构建失败,消息无用
- asp.net-mvc – 缺少Visual Studio 2012 MVC本地
- asp.net-mvc – ASP.NET MVC:从控制器返回CDN图
- asp.net-mvc – 说ASP .NET MVC应用程序是HTTPMo