EF6では、デフォルトでDBSet
のメンバーがvirtual
として作成されます。これは設定から変更することはできませんが、T4テンプレート(.tt
ファイル)を編集する必要があります。ほとんど誰かがこれを編集して、virtual
というキーワードを削除した可能性があります。
T4テンプレートを見つけるには、ソリューションエクスプローラで.edmx
ファイルで作成されたツリーを展開します。その中に.tt
というファイルがあります。
あなたDBSet
のvirtual
もう一度を作成するには、(デフォルト.tt
で、それはライン307である)メソッドstring DbSet(EntitySet entitySet)
を見つける必要があります。このメソッドはプロパティ宣言を作成し、ここでそのパターンを操作できます。デフォルトでは
"{0} virtual DbSet<{1}> {2} {{ get; set; }}"
が使用されます。このパターンのあなたのバージョンを見つけ、それをあなたの好きなもの(または単に私が提供したデフォルトのバージョン)に変更してください。
EDIT:あなたは簡単にこの方法を見つけることができない場合は、
を検索してみてくださいDbSet <
EDIT:.tt
ファイルを編集して保存した後、それが自動的に実行されなければなりません。そうでない場合は、右クリックして[カスタムツールの実行]を選択してください。
使用しているEFのバージョンはどれですか? – kiziu
EFバージョン6です。 – user441521