0

私は Entity Framework コード ファースト (非自動生成) を使用しており、OnModelCreatingイベントでいくつかのプロパティをマップしようとしています。ほとんどのプロパティは SQL Server テーブルからのものですが、ビューからモデルに含めたいフィールドがあり、これを実行して として設定しました[DatabaseGenerated(DatabaseGeneratedOption.Computed)]

ただし、EF はビューを更新しようとします。ビューを更新せずに読み取り専用として扱うように EF に指示するにはどうすればよいですか?エラーは...

集計、DISTINCT または GROUP BY 句、または PIVOT または UNPIVOT 演算子が含まれているため、ビューまたは関数 'VIEWNAME' を更新できません

ビューを更新可能にする方法はたくさんありますが、読み取り専用として扱うことはできません

アップデート

モデルで定義するときにプロパティに追加[DatabaseGenerated(DatabaseGeneratedOption.Identity)]したいくつかのことを試した後、これでうまくいったようですが、少し奇妙に思えますが、Identity として設定しても、計算されたものとして設定するよりもあまり意味がありませんが、動作しているようです。

4

1 に答える 1

0

あなたのプロパティでこれを試しましたか?

public virtual string MyProperty { get; internal set; }

この方法では、エンティティの消費者はそれを変更できません。

于 2013-11-01T14:46:09.593 に答える