タイトルが示すように:
コードファーストアプローチでEntityFramework 4.1に、一部のプロパティ(特に文字列型)の長さを256、nvarchar(max)、または...にするように指示するにはどうすればよいですか。
たとえば、これが私のモデルの場合
public class Book{
public string Title { get; set; } //should be 256 chars
public string Description {get;set} //should be nvarchar(max)
}
どのように定義できますか?
前もって感謝します!
EF4.1 RTWでは、デフォルトの長さはSQL Serverの場合はnvarchar(max)、SQL CEの場合はnvarchar(4000)です。長さを変更するには、StringLength
またはMaxLength
アノテーションまたは流暢なマッピングHasMaxLength
を使用します。
[StringLength(256)]
public string Title { get; set; }
または
[MaxLength(256)]
public string Title { get; set; }
または
modelBuilder.Entity<Book>()
.Property(p => p.Title)
.HasMaxLength(256);
私のコメントで述べられているように、それは簡単です。DataAnnotation
から[StringLength(1000)]
または[MaxLength]
を使用するだけです。