gpt4 book ai didi

ASP.NET MVC - Linq to Entities 模型作为 ViewModel - 这是好的做法吗?

转载 作者:行者123 更新时间:2023-12-01 19:48:06 27 4
gpt4 key购买 nike

确实是快速提问。

我目前正在使用 asp.net MVC 和 Entity Framework 构建一个网站。我有几个存储库,它们返回实体或实体列表。我发现在我的大部分页面中,我必须从各种相关表中提取数据。只要我在查询中使用“include”加载相关实体就可以了 - 但这是好的做法吗?

创建一个仅包含我需要的信息位的自定义 View 模型对象是否会更好,或者拉出可能有 5 - 6 个表深的对象图只是为了显示您需要的内容没有什么“错误”您认为?

如果这个问题没有太大意义,我深表歉意。我可能从根本上误解了应该如何在这里使用模型:)

谢谢

最佳答案

如果你的 View 开始做类似的事情

<% foreach (var order in Model.Orders.Any(x => x.Products.Any(p => p.Category == "xx")) %>

那么你肯定需要ViewModel。你可以去

ViewData["flattened_orders"]

如果你更喜欢魔法弦,但我对此表示怀疑。

然后,存在实体所需的表示属性的问题,然后您需要公开它们的所有属性,以便模型绑定(bind)器可以工作...然后您需要其他仅表示的信息,例如国家/地区列表...

因此,对于简单的应用程序,您可以跳过 ViewModel。但对于简单的应用程序,您无论如何都可以执行 Response.Write 和手动 SQL ;-)

我其实很喜欢this关于类似问题的帖子。其中所呈现的方法一开始可能看起来太“学术”,但它来自真实的项目,而且我对 ASP.NET MVC 做的越多,我就越喜欢它并接近它。

关于ASP.NET MVC - Linq to Entities 模型作为 ViewModel - 这是好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1498927/

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