我正在将一个应用程序从MVC5 / EF6移植到MVC6 / EF7,但是遇到了这个特定行的问题:
modelBuilder.Entity<Client>().HasMany(c => c.Payments).WithOne(e => e.Client).OnDelete(Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Restrict);
显然WillCascadeOnDelete使用restrict作为参数转换为OnDelete,但是我找不到任何关于“WithRequired”部分的文档,它在EF7中也消失了。 'WithOne'有同样的影响还是我完全错了:
sql="SELECT * FROM payments where p_dat Between #"&from_d&"# AND #"&to_d&"# ORDER BY p_dat DESC"
答案 0 :(得分:0)
在两种情况下您都是正确的。这是详细的帖子... http://www.mikee.se/posts/migrating_from_ef6_to_ef_core
通常,这些映射会在EF6中从此改变。
x.Entity<Company>()
.HasMany(c => c.StatementOfEarnings)
.WithRequired(e => e.Company)
.WillCascadeOnDelete(false);
为此在EF Core中
x.Entity<Company>()
.HasMany(c => c.StatementOfEarnings)
.WithOne(e => e.Company)
.OnDelete(DeleteBehavior.Restrict);