Asp.Net MVC 4のEntityFrameworkを使用してスキャフォールディングをテストしています(この記事に従ってください)。ドメインオブジェクトがフィールドでnullを許可し、データベースフィールドがnullを許可している場合でも、エラーメッセージが表示されることを除いて、正常に動作します。
列'IsSuccessful'、テーブル'MyTestProject.Persistence.TestContext.dbo.Prediction'に値NULLを挿入できません。列はnullを許可しません。UPDATEは失敗します。ステートメントは終了されました。
私のドメインオブジェクトは次のようになります。
public class Prediction
{
[Key]
public int Id { get; set; }
[Required]
public string Title { get; set; }
[Required]
public string Description { get; set; }
public bool? IsSuccessful { get; set; }
}
生成されたWebページには、NotSet、True、Falseの選択肢があるドロップダウンボックスとしてIsSuccessfulが表示されます。データベースでは、列IsSuccessfulはnullを許可します。それでもエラーメッセージが表示されます。TrueまたはFalseを選択すると(データベースに正しく保存されます)、すべて正常に機能しますが、NotSetを選択すると機能しません。
確かにこれを回避する方法があるはずですか?
いくつかの詳細:
- Visual Studio 2012 RC
- Asp.Net MVC 4
- EntityFramework.dllバージョン5.0.0.0