2012-01-20 4 views

答えて

4

プロシージャとvewを格納するためのマッピングは、コードではまだサポートされていません。そして、これらはJulia LermanのProgramming Entity Framework:Code Firstからの回避策です。

更新可能なビューへのマッピング

modelBuilder.Entity<MyEntity>().ToTable("MY_VIEW")

ビューの列名は、エンティティのフィールド名と同じとあなた 、更新を挿入するためにEntity Frameworkのを使用して、削除することができ、データ と同様にする必要がありますそれを選択する。 コードファーストに嘘をつけて、 の表にと表示します。

var myEntity = dbContext.MyEntity.SqlQuery("SELECT * FROM dbo.MY_VIEW")

ビューの列名は、エンティティのフィールド名と同じでなければなりません、あなたはまだ、このような変更の追跡、遅延ロードとしてDbContextの機能を取得したオブジェクトを移入するには、[View]を使用し

。 Nonmodelを移入するには、[View]を使用し

var myNonModel = dbContext.Database.SqlQuery("SELECT * FROM dbo.MY_VIEW")

ビューの列名は、エンティティのフィールド名と同じにする必要がありますオブジェクト。ストアドプロシージャビューで作業するための

同じ手法を使って作業する

var myEntity = dbContext.MyEntity.SqlQuery("dbo.StoredProcedureName @p0 @p1", myParam1, myParam2)

2

ストアドプロシージャのマッピングは、コードではまったくサポートされていません。ビューのマッピングはハッキングする必要があります。ビューがテーブルであり、アプリケーションがうまくいくと思われます。 Fluent-APIは、コードファーストのシナリオのみをサポートするように設計されています。つまり、アプリケーションはデータベースを作成します。したがって、ストアドプロシージャ、ビュー、関数などのDBレベルのロジックを持つデータベース機能はサポートされていません。

+0

1:本当にコード・ファースト、または真のコード・ファーストに関連する質問/回答を使用する場合、データベースはビュー、関数、またはSPの任意のアプリケーションで使用されていることを持つべきではありません。 – Suamere

関連する問題