Modelというプロジェクトがあります。私のエンティティはすべて、最初にEFコードによって生成されたプロジェクトにあります。
Public Partial Class Person
{
...
}
生成されたクラスに触れたくないので、部分クラスMetadataType
を作成してそれに属性を追加できます。
[MetadataType(typeof(Person_Metadata))]
public partial class Person
{
}
そして、これが私の相棒クラスです。
[Bind(Exclude="PersonID")]
public class Person_Metadata
{
[Display(Name:="First name")]
public string FirstName { get; set; }
[Display(Name:="Last name")]
public string LastName { get; set; }
}
問題は、バディ クラスを別のアセンブリに移動したいということです。
モデルプロジェクトはそれを参照していないため、クラスへの参照がないため[MetadataType(typeof(Person_Metadata))]
エラーが発生します。Person_Metadata
検証部分にFluentValidationを使用できます(そしてそれはうまく機能します) が、次のような他のメタデータはどうですか: Display
Attribute ?
この質問も見つけました: FluentValidationエンジンでメタデータを管理することについてFluentValidationを使用するときにクラスにDataAnnotationを追加しますが、それは長い道のりのように見え、データ注釈属性を使用することを好みます