簡體   English   中英

實體框架6:.where和.Select接受字符串參數?

[英]Entity Framework 6: .Where and .Select that accept string parameters?

在《 Programming Entity Framework》(第二版)中,Julia Lerman着重於Entity SQL,p。 115,下面是使用查詢生成器方法使用EF .Where.Select以及字符串參數進行投影的示例:

ObjectQuery<DbDataRecord> contacts = context.Contacts
    .Where("it.FirstName='Robert'")
    .Select("it.Title, it.FirstName, it.LastName");

我正在使用Entity Framework 6,.Net 4.6,VS2015。編譯器抱怨沒有.Where.Select接受字符串參數,只有lambda。 有什么解決方法如何遵循本書的示例?

該示例似乎與舊的ObjectQuery API有關,現在不應該真正使用它。 不過,仍然可以將其與EF6.x結合使用,如下所示:

ObjectContext objectContext = ((IObjectContextAdapter)conte).ObjectContext;
ObjectSet<DbDataRecord> objectSet = objectContext.CreateObjectSet<DbDataRecord>("DbDataRecords");
// Async version: var res0 = await objectSet.Where("it.FirstName='Robert'").ToListAsync();
var res0 = objectSet.Where("it.FirstName='Robert'").ToList();

就是說,您確實應該將lambda與新的DbContext API結合使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM