0

資料を見てもわからないので、こちらで質問させていただきます。ブリーズはデータベース列のデフォルトをどのように処理しますか? データベースに必要な列がありますが、データベースの列定義でこれらに指定されたデフォルトの静的値もあります。通常、これらの列に null を挿入すると、新しいレコードがデフォルトになります。ただし、そよ風はデータベース列の既定値を認識していないようで、これらの列に null を持つエンティティは保存時に検証に失敗します。

ありがとう、マティアス

4

2 に答える 2

0

アップデート:

これは現在利用可能な Breeze 1.4.6 (またはそれ以降) で修正されました。

元の投稿:

現在、Breeze にはバグがあり、約 1 週間後にリリースされる次のリリースで修正される予定です。この修正が行われると、breeze は EntityFramework データ モデルで見つかったすべての defaultValues を尊重します。

問題の 1 つは、プロパティ エディターを使用して「defaultValues」を Model First Entity Framework モデルに取り込むのは簡単ですが、流暢な構成を使用しない限り、Code First EF モデルに取り込むのは実際には難しいことです。残念ながら、EF は Code First モデル メタデータを作成するときに [DefaultValue] 属性を無視します。

現在使用できる回避策の 1 つは、「defaultValue」を任意の dataProperty に直接突っ込むことです。何かのようなもの:

var customerType = myEntityManager.metadataStore.getEntityType("Customer");
var fooProperty = customerType.getProperty("foo");
fooProperty.defaultValue = 123;
于 2013-11-17T05:16:40.463 に答える
0

DB のデフォルト値を持つ列にStoreGeneratedPattern = "Computed"属性を追加して、edmx xml を編集してみてください。

編集: 実際には、xml を編集する前に、モデル エディター自体でStoreGeneratedPatternプロパティをComputedに設定してみてください。

于 2013-05-24T18:22:44.097 に答える