1

コード ファースト モデルで Entity Framework 4.1 を使用しています。一般的なパターンは、多くのオブジェクトがそれらを所有するユーザーを参照することです。

public class Item
{
    public User Owner { get; set; }
}

これにより、DBにnull可能な列が作成されますが、すべてのアイテムには所有者が必要なので、列にNOT NULLのマークが必要です。この[Required]属性を使用すると、フォームを送信してアイテムを作成するとエラーが発生します。そのフィールドはフォームから設定されることはなく、コードで手動でのみ設定されます。

4

1 に答える 1

3

このような状況では、別のビュー モデルを作成することをお勧めします。データベース モデルを入力フォームのビュー モデルとして使用することは、アンチパターンと見なされます。

関連するデータ検証属性とItemViewModel同じプロパティを持つ を作成します。そのような場合に必要な退屈なプロパティ コピー コードを自動化するために、AutomapperItemというライブラリを使用することをお勧めします。

于 2012-08-27T16:43:37.877 に答える