0
|
Nate CSS Guy · 技术社区 · 15 年前 |
![]() |
1
1
我认为这是一个很有争议的话题。对我来说,有两条明确的路线: 延迟执行路由 不要使用tolist,在控制器中总是使用asqueryable。这意味着仅检索表示所需的数据,并且仅当调用tolist等时,才在视图中需要该数据。 演示文稿显示模型 使用已筛选的模型类或结果准备用于表示的数据。将视图强键入预期格式。 我自己更喜欢延迟执行,尽管在纯MVC结构中,控制器应该担心获取信息,视图应该只显示模式。 无论如何,请确保将asqueryable用于存储库。 |
![]() |
2
3
对我来说 毫无疑问 . 控制器不应将iQueryable返回到视图。视图不应该具有执行此类筛选的逻辑,因此必须在控制器或控制器调用的对象中执行此操作。如果你的观点有这样的逻辑,那就太聪明了!我知道听起来好像 宣传视图模型 “(作为) JFAR 在前一篇文章中发表了评论)或最佳实践,但这些定义是有原因的。逻辑太多的视图太难维护,您也可以使用ASP.NET。( 或经典ASP )关于那件事。 老实说,我甚至不认为您的控制器应该为此使用iqueryable本身。这个逻辑应该包含在一个单独的层中,该层将列表返回给控制器。使用iQueryEverywhere的问题是,当事情处于同一层时,这样做是可行的,但是如果你将数据访问放在WCF服务之后,你的整个应用程序就会崩溃。你的 哪里 视图中的语句以及控制器会抱怨由于上下文不再可用而无法访问上下文。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 3 月前 |
![]() |
pseudodev · 失败的测试仅显示堆栈跟踪,不显示完整日志 4 月前 |
![]() |
CactusCake · if语句中应有分号 5 月前 |
![]() |
Bin4ry · 子文件夹中的应用程序设置 6 月前 |