我在这个问题上花费了相当多的时间,但仍然无法弄清楚为什么 EF 团队使用 Code First 让生活变得如此艰难。
所以这里有一些示例:
我的 POCO:
我希望事情看起来像这样:
public class Post
{
public int Id {get; set;}
public string Text {get; set;}
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Post>()
.Property(p => p.Text)
.HasColumnType("nvarchar(max)");
}
唯一有效的:
public class Post
{
public int Id {get; set;}
[StringLength(4000)]
public string Text {get; set;}
}
问题是,在第一种情况下,我尝试插入它给我的任何东西:Validation failed for one or more entities
而第二种情况不适合我的商业模式。
我是唯一一个有这个问题的人吗?我该如何处理这件事?