【问题标题】:Anonymous type with Linq to Entity(EF 4.1)?Linq to Entity(EF 4.1)的匿名类型?
【发布时间】:2012-01-09 05:14:38
【问题描述】:

假设我想在我的应用程序开发的某些部分使用 Linq to Entity 查询将数据提取到一个匿名对象(即从两个或多个表中提取数据并将其存储在一个变量中)。后来我需要一个 Razor 视图来访问这个获取/匿名的数据。我应该在这里做什么?

我的想法是设计另一个 ViewModel 来保存匿名类型属性的相应属性并制作对该 ViewModel 进行强类型化的视图/剃须刀?这是在 EF 4.1 中使用匿名类型的正确方法吗?即为每个匿名类型创建一个 ViewModel 并将 Fetched 数据存储到它的对象中。

【问题讨论】:

  • 这就是我要走的路;如果您必须从特定表中获取列。通常,如果我需要大量访问这些数据和相应的模型类,我会在数据库(MSSQL、MySQL)中创建一个视图。

标签: asp.net asp.net-mvc entity-framework entity-framework-4 ef4-code-only


【解决方案1】:

匿名类型不打算在方法范围之外使用,因此它们通常只是一次性类型,只能在该方法中使用。

我倾向于将数据加载到常规类中而不是 ViewModel 中,以将模型与视图完全分离。我将使用自定义类来保存获取的数据,然后在控制器中使用该类填充 ViewModel,并为 ViewModel 提供强类型的剃刀视图。 这有点不紧凑,但具有更好的关注点分离。

【讨论】:

  • 柔道就是我要问的。也就是说,如果您想处理从两个或多个表中获取的数据,这是一种很好的工作方法吗????
  • 是的,在我看来这是一个很好的方法,不管有多少表。从中获取数据的表数无关紧要。
猜你喜欢
  • 1970-01-01
  • 2012-07-19
  • 1970-01-01
  • 2018-02-16
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多