Entity-framework-native-sql
提供:Dev Guides
Entity Framework-ネイティブSQL
Entity Frameworkでは、LINQを使用してエンティティクラスでクエリを実行できます。 DbCOntextを使用して、データベースに対して直接生のSQLを使用したクエリを実行することもできます。 この手法は、Code FirstとEF Designerで作成されたモデルに等しく適用できます。
既存のエンティティでのSQLクエリ
DbSetのSqlQueryメソッドを使用すると、エンティティインスタンスを返す生のSQLクエリを作成できます。 返されたオブジェクトは、LINQクエリによって返された場合と同様に、コンテキストによって追跡されます。 たとえば-
上記のコードは、データベースからすべての生徒を取得します。
非エンティティ型のSQLクエリ
DatabaseクラスのSqlQueryメソッドを使用して、プリミティブ型を含む任意の型のインスタンスを返すSQLクエリを作成できます。 たとえば-
データベースへのSQLコマンド
ExecuteSqlCommnadメソッドは、Insert、Update、Deleteコマンドなどの非クエリコマンドをデータベースに送信する際に使用されます。 生徒の名がID = 1として更新される次のコードを見てみましょう
上記のコードは、データベースからすべての生徒の名を取得します。