4

モデルの状態に検証エラーを追加する方法を知っています。モデルクラスに検証アノテーションを追加する方法を知っています。問題は、最初にデータベースを使用すると、生成されたコードに触れたくないということです。再生成すると、カスタマイズが失われるからです。私はいつもパーシャルでカスタマイズしようとしますが、パーシャルで既存のプロパティに注釈を追加することはできません。

ここでのベストプラクティスは何ですか?

4

2 に答える 2

1

を活用する必要がありますMetadataTypeAttribute

次のようにします。

新しいクラス ファイルを作成し、部分クラスと同じ名前空間に保持します。この新しいクラスは、データベースからモデルを更新しても、検証ルールを保持します。以下のように新しいクラスファイルの内容を変更し、仕様に変更します。

[MetadataTypeAttribute(typeof(YourCustomClassForValidation))]
public partial class Person
{
   // No need to put anything here because you already defined these properties
}

public class YourCustomClassForValidation
{
   [DisplayName("Full Name")]
    public string name { get; set; }
}
于 2013-10-17T02:07:34.607 に答える
0

EDMX ファイルとエンティティを分離する必要があります。

  • EDMX ファイルは Scaffolding プロジェクトに配置できます。
  • エンティティは Data.Contracts プロジェクトに配置できます。

EDMX モデルを更新した後、新しく生成されたエンティティからの変更を Data.Contracts プロジェクトのエンティティに手動で適用する必要があります。

于 2012-11-24T18:49:19.177 に答える