私は Entity Framework を初めて使用し、EF5 Code First を使用して新しい ASP.NET MVC プロジェクトに着手しようとしています。
私が理解しているように、ドメインモデルオブジェクト内のプロパティに対してデータ注釈を使用するか、Fluent API を使用して、プロパティのデータ型 (オブジェクトが作成されたときに DB 内)、サイズ、サイズを定義できます。 nullable など。
どちらを使用するかについて、一般的に推奨されるアプローチはありますか?
データ注釈を使用するときに、DB で作成されたときにそのプロパティのデータ型とサイズを指定できる方法がわかりませんでしたが、Fluent API を使用すると、次のことができるように見えます。
Property(g => g.ModelName).HasColumnType("varchar");
Property(g => g.ModelName).HasMaxLength(100);
Property(g => g.ModelName).IsRequired();
たとえば、データ注釈を使用する場合、デフォルトでは、すべての文字列プロパティに nvarchar(MAX) を使用しているように見えます。
データ注釈を使用して上記を行う方法はありますか? それは Fluent API と同程度の「微調整」を提供しますか?それとも、ドメイン モデルをそのままにして、この「微調整」をすべて分離して、各ドメイン モデル オブジェクトの Fluent API クラスを分離する必要がありますか?