实体框架预测

时间:2011-02-11 22:40:05

标签: entity-framework

我们正在调查实体框架,看它是否能满足我们的特殊需求。这是我感兴趣的场景:

我有一个大表(我们称之为VeryWideRecord),它有许多列,并且它有一个相应的业务对象(它也称为VeryWideRecord)。我希望能够在我的数据库中查询VeryWideRecord业务对象,但只能获得基础SQL返回的某些列的值。我可以使用实体框架吗?

我不确定是否可以使用Entity Framework的表拆分功能来完成,因为应用程序需要能够(在运行时)更改所请求的列。这样做的原因是我们正在努力减少通过网络传输的信息量。

我看到如何使用NHibernate(example)完成此操作,但我如何使用实体框架执行此操作?

2 个答案:

答案 0 :(得分:0)

看起来你可以用实体SQL实现你想要的东西。以下是链接:

http://msdn.microsoft.com/en-us/library/bb738683.aspx

答案 1 :(得分:0)

像这样(在VB.NET中:

Dim pl As New List(Of VeryWideRecord)(
     (From p In db.VeryWideRecords 
      Select New With {.RecID = p.RecID}
     ).ToList().Select(
       Function(r)
         Return New VeryWideRecord With {.RecID = r.RecID}
       End Function))

有了这个,你有一些编译时检查。但是如果你想真正动态地做到这一点,那么eSQL可能更合适。 而且,它不是真正的实体框架,而是实现技巧的lambda表达式。