0

Julia Lerman による第 2 版の「Programming Entity Framework」の Entity SQL に関する章、p. 115 では、クエリ ビルダー メソッドを使用して、EF 4.1.Where.Select文字列パラメーターを使用して射影を行う次の例があります。

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

私はEntity Framework 6、.Net 4.6、VS 2015を使用しています。コンパイラは、文字列パラメータがなく、ラムダのみを受け入れる.Whereと不平を言います。.Selectこの本の例に従う方法はありますか?

4

1 に答える 1

2

この例は古い ObjectQueryAPI に関するものであるように見えますが、これは現在実際には使用されるべきではありません。ただし、次のようなものを使用して、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();

DbContextそうは言っても、新しいAPIでは代わりにラムダを使用する必要があります。

于 2015-09-22T15:02:22.310 に答える