2

Visual Studio 2010 SP1 で EDMX を作成しました。既存のデータベースから構築されています。

データベースで生成された列が多数あります (つまり、デフォルト値として GETDATE() で null 不可)。

ただし、EDMX はこれらの列を検出していないようで、「StoreGeneratedPattern」を「Computed」に設定していません。動作させるには、これらを手動で設定する必要があります!

データベースは非常に大きいため、これは理想的ではありません。

これは EDMX 世代のバグですか、それとも何か間違っている可能性がありますか?

どうもありがとうカール

4

1 に答える 1

1

バグではありません。現在の日付へのデフォルトの制約設定列は計算列ではないため、このように機能します。計算列は、レコードを保存するたびにその値を変更します。例はタイムスタンプです。さらに、StoreGeneratedPatternset toを使用するプロパティ、IdentityまたはComputedアプリケーションから設定できないプロパティ。あなたの列は他の値を受け入れるので、EFはそれをデフォルトで生成されたストアにすることはできません-決定を下すのはあなた次第です。

すべてのレコードにデータベースのデフォルト値を使用する場合は、をに設定StoreGeneratedPatternIdentityます。これにより、挿入中に値が設定および照会されます。パターンをに設定すると、Computed更新のたびに不要なクエリが作成されます。

于 2012-06-28T08:48:21.787 に答える