使用Linq到实体加载部分实体

Shi*_*mmy 5 entity entity-framework loading classloader entityobject

我正在尝试使用Linq加载部分实体到实体:

Dim contacts = From c In My.Context.Contacts _
     Select New Contact With { _
         .ContactId = c.ContactId, _
         .Name = c.Name
     }
Run Code Online (Sandbox Code Playgroud)

我尝试了它,我得到以下NotSupportedException:" 实体或复杂类型'CompleteKitchenModel.Contact'不能在LINQ to Entities查询中构造. "

谢谢

Luk*_*Led 2

您必须使用匿名类型:

Dim contacts = From c In My.Context.Contacts _
 Select New With { _
     .ContactId = c.ContactId, _
     .Name = c.Name
 }
Run Code Online (Sandbox Code Playgroud)

然后将数据复制到联系人列表:

For Each contact In contacts    
     Dim c As New Contact With { .ContactId = c.ContactId, .Name = c.Name}
     //Add to list
Next
Run Code Online (Sandbox Code Playgroud)

正如错误所述,您的语法不受支持。