質問: 私は自分のプロジェクトの1つをEntity Framework 7(rc1-final)に移すことに決めました。私はSQL Serverと`EntityFramework.MicrosoftSqlServer`をターゲットにしています`EntityFramework.MicrosoftSqlServer`パッケージもインストールされています。 私は1つの問題があります:DBからいくつかのオブジェクトをフェッチするためにカスタムSQLクエリを実行できないようです。 `DatabaseFacade`オブジェクト( `DbContext.Database`プロパティでアクセス可能)は、拡張メソッド`ExecuteSqlCommand` (何も返さない)を提供しますが、オブジェクトを取得する`SqlQuery`メソッドは提供しません。どちらの方法も古き良きEF 6で利用できましたが、新しいEF 7は最初のものだけを宣言しています。 したがって、 `SqlQuery`メソッドはまだここにありますが、移動または名前が変更されましたか、それとも新しいEF実装から完全に削除されましたか? もちろん、 `SqlCommand`とその`ExecuteReader`メソッドを使用して冗長な方法で解決することは絶対に可能ですが、避けることをお`SqlCommand`します。
回答: `EntityFramework.Relational`は次の拡張メソッドを公開します。 ``` public static IQueryable FromSql( [NotNull] this IQueryable source, [NotNull] [NotParameterized] string sql, [NotNull] params object[] parameters) where TEntity : class ``` あなたはこれを行うことができます。 ``` myDatabaseContext.Customers.FromSql("SELECT * FROM Customers WHERE Name='p0'", "timothy"); ```