アプリケーションをASP.NETMVCCoreとEntityFramework Coreに移行しましたが、問題が見つかりました。私はこのようなエンティティへの生のSQLクエリを持っています
var rawSQL = dbContext.Database.SqlQuery<SomeModel>("Raw SQL Query").ToList();
しかし、SqlQuery<T>
にはcontext.Database
はありません。この問題の解決策はありますか?
使用できる拡張メソッドがあるため、必ずusing Microsoft.Data.Entity;
を追加してください。
var rawSQL = dbContext.SomeModels.FromSql("your SQL");
さらに良いことに、(SQLインジェクション攻撃のリスクがある)生のSQLを使用する代わりに、このFromSqlメソッドを使用すると、次のようなパラメーター化されたクエリを使用できます。
dbContext.SomeModels.FromSql("SELECT * FROM dbo.Blogs WHERE Name = @p0", blogName);