2016-12-29 8 views
4

正の数(0〜...)の制約を追加し、数を(〜1)として制限する必要があります。Entity Frameworkコード最初に正の数の制約を追加する

CreateTable(
    "dbo.Drinks", 
    c => new 
    { 
     Id = c.Int(nullable: false, identity: true), 
     Name = c.String(), 
     ImageUrl = c.String(), 
     Price = c.Int(nullable: false), 
     Count = c.Int(nullable: false) 
    }) 
    .PrimaryKey(t => t.Id); 
    //.Constraint ??? 

MS SQLでは「署名なし」のようなものがあります。 ありがとうございます。たぶんレンジDataannotationと

答えて

4

現在、Entity Frameworkの流暢な構成では、最小値または最大値の設定はサポートされていません。

あなたは、しかし、このような検証を実装することができ、throught注釈:流暢な構成で、それは同じよう

[Range(1, int.MaxValue, ...)] 
int YourInt{ get; set; } 

しかし、これが唯一の保存時に検証にかかりますが、実際の制約がデータベースに追加されています/移行。

PS

私は、Entity Frameworkの移行を愛するが、私は唯一の最初のリリースまで、開発時に使用します。実際に製品を出荷するまでは、時間を大幅に節約できます。その後、私は通常、インデックスと制約を含むデータベースを自分自身で微調整し、EFの移行を使用して完全に削除します。

データベースは、通常、パフォーマンスと最適化で最も重要な要素の1つですが、臨床的に調整する必要があります。また、EFマイグレーションは、最も重要なユースケースをカバーしていても、必要な柔軟性をすべて提供するわけではありません。

1

[Range(0.0, Double.MaxValue)] 

のみ値0以上のあなたは、探しているあなたはありません何ですか?

関連する問題