EntityFramework - 端口WithRequired到EF Core

时间:2016-12-20 15:05:47

标签: entity-framework-6 asp.net-core-mvc

我正在将一个应用程序从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"

1 个答案:

答案 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);