私はCode Firstアプローチを使用したプロジェクトを1つ持っておりEF
、そこでデータ注釈を使用するのは簡単でした。現在、私は Database First を使用していますが、Data Annotations を使用する方がより具体的であることがわかったので、それを実装するための正しい手順を知りたいと思っています。
データ アクセスを提供する私のプロジェクトの構造は次のとおりです。
エンティティにデータ注釈を追加するために作成したModelExtensions
すべてのファイルがあります。DbContextModel.tt
のファイルの 1 つの構造は次のModelExtensions
とおりです。
using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
namespace DataAccess.ModelExtensions
{
[MetadataType(typeof(MCS_ContentTypesMetaData))]
public partial class MCS_ContentTypes : BaseEntity
{
}
internal sealed class MCS_ContentTypesMetaData
{
[Required]
[StringLength(10)]
public string Name { get; set; }
}
}
ここでいくつか質問があります。最初 - 名前空間。namespace DataAccess.ModelExtensions
このままなのか、部品を外さなければならないのか.ModelExtensions
。最初に DB を使用するプロジェクトを見ていましたが、名前空間がDataAccess
必要な理由がわかりませんでした (必要な場合)。DbContextModel.tt
また、エンティティに他の参照を追加する必要がありますか? これには標準の C# クラスを使用し、名前を : に変更しますpublic partial class MCS_ContentTypes : BaseEntity
。エンティティとこのファイルの間の接続を明示的に公開するために、それらを作成するための特別なアプローチを使用する必要がありますか?