EF5 ve EF4 sürümleri olan geçmiş projelerde, IsRequired() akıcı API yöntemi, özellik boş veya boş bir dize ise bir DbEntityValidationException atılır. Şu anki proje kullanımında EF6, dize özelliği boş olduğunda DBEntityValidationException atılmıyor.EF 6 IsRequired() boş dizelere izin verme
Varlık:
public class Application : BaseEntity
{
public string Name { get; set; }
// navigation properties
public IList<Role> Roles { get; set; }
}
Yapılandırma:
internal class ApplicationMapping : EntityTypeConfiguration<Application>
{
public ApplicationMapping()
{
// table name
this.ToTable("Applications");
// properties
this.Property(t => t.Name)
.IsRequired()
.HasMaxLength(100);
}
}
MSDN EF dokümantasyon ve yığın taşması üzerine döküldükten sonra, ben bu neden oluyor için bir kayıp am. Bir toplantı EF6'ya eklendi/değiştirildi mi?
Eğer 'OnModelCreated' yönteminin içine içerdeki' EntityTypeConfiguration' kayıtlı mı nedir? Yani modelBuilder.Configurations.Add (yeni ApplicationMapping()); – nemesv
Evet, model oluşturulduğunda varlık türü yapılandırmasının başlatıldığını doğruladım. Name özelliği null olduğunda IsRequired() DBEntityValidationException atıyor, ancak Ad = string.Empty – awolske