gpt4 book ai didi

asp.net-mvc - 将 Linq2Sql 对象传递给 View 有什么问题?

转载 作者:行者123 更新时间:2023-12-04 17:27:22 24 4
gpt4 key购买 nike

previous question , @Darin Dimitrov answered :

In your case the worst thing is that you are using your Linq2Sql models inside your views and that's one of the worst anti-patterns I see people doing in ASP.NET MVC applications. You absolutely should be using view models. That's what views should be passed from controllers and that's what controllers should get from views.



为什么将 Linq2Sql 对象作为模型传递如此糟糕?

最佳答案

将 Linq2Sql 对象作为模型传递给您的 View 和 Controller 是不好的原因有很多,并且在一个答案中涵盖所有这些是相对困难的。所以,这是我的前 3 名:

关注点分离 - Linq2Sql 对象中嵌入了 DAL 逻辑,这违反了 SoC。此外,您可能希望验证从您的 View 传递的数据,这应该在模型中完成(而不是 Controller !)。但是,如果您将此逻辑添加到 L2S 模型中,那么您也会违反 SoC(更不用说如果您重新生成 L2S 模型,您的验证将被清除的事实)

封装 - 您的 L2S 类有很多您的 View 和 Controller 可能不需要访问的成员。一个合适的模型将封装这些成员以防止它们被访问。

可维护性和可重用性 - 在某些时候,您可能决定要更改您的后备存储。如果您使用 L2S 类作为模型,那么您最终会接触大量代码来进行更改,而如果您推出自己的模型,那么您只需担心更改模型而无需担心其他任何事情。此外,不要弄乱您的 L2S 模型(请参阅上面的 SoC)意味着它们可以跨项目重复使用。

关于asp.net-mvc - 将 Linq2Sql 对象传递给 View 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6509729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com