【问题标题】:Pass LINQ model to view通过 LINQ 模型查看
【发布时间】:2013-06-13 23:56:20
【问题描述】:

我们可以跳过定义模型任务并将 LINQ 数据上下文中表示的类发送到视图吗?我注意到,直到现在,我的大部分模型都与 LINQ 包含的对象的组合相同。但是,我还没有找到将 LINQ 转换为模型中的类型的方法。

如果可能的话,我们不必担心编程语言数据类型与 DBMS 的兼容性,也可以节省一些时间。

你能告诉我是否有实现它的方法吗?

【问题讨论】:

  • 您是否试图规避使用控制器来执行视图中的所有数据操作?

标签: .net asp.net-mvc linq


【解决方案1】:

您始终可以传递任何类型的对象作为视图的模型。如果您不知道数据类型(例如它是 LINQ 生成的数据类型),您始终可以在视图中使用 @model dynamic 声明。

我会推荐反对这种方法,但是。在编辑 Razor 视图时拥有智能感知非常好,只有已知数据类型才能提供。此外,如果您为项目启用了预编译视图,编译器可以在您的视图中捕获潜在的错误。

【讨论】:

    【解决方案2】:

    很多方法可以绕过使用控制器逻辑来创建视图数据,而是在视图中编写该逻辑。但是,为什么要使用 ASP.Net MVC?还不如只使用 Webforms,因为这基本上是您正在做的额外路由开销。

    MVC 最大的一点是Single Reponsibility PrincipleReusability。如果您的视图是数据感知并提取数据,那么它现在比仅仅提供数据视图具有更多的责任,因为它必须连接到数据库等等。此外,该视图不能很容易地重用,因为它依赖于它所知道的逻辑才能正常工作,并且如果其他一些控制器/动作调用它,它可能无法在该上下文中正常工作。

    【讨论】:

      猜你喜欢
      • 2020-09-10
      • 1970-01-01
      • 2011-01-29
      • 2013-09-23
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多