C# system.reflection.ambiguousmatchexception错误EF
我有一个奇怪的情况。本部分代码:C# system.reflection.ambiguousmatchexception错误EF,c#,.net,entity-framework,C#,.net,Entity Framework,我有一个奇怪的情况。本部分代码: List<Order> orders = orderRepository.Query().Where(x => x.del != true).ToList(); MyContext.cs: modelBuilder.Entity<Order>() .HasRequired(u => u.UserCountry) .WithMany() .
List<Order> orders = orderRepository.Query().Where(x => x.del != true).ToList();
MyContext.cs:
modelBuilder.Entity<Order>()
.HasRequired(u => u.UserCountry)
.WithMany()
.HasForeignKey(u => u.CountryID).WillCascadeOnDelete(false);
modelBuilder.Entity<Order>()
.HasRequired(u => u.CompanyCountry)
.WithMany()
.HasForeignKey(u => u.companyCountry).WillCascadeOnDelete(false);
modelBuilder.Entity<Order>()
.HasRequired(u => u.UserDeliveryType)
.WithMany()
.HasForeignKey(u => u.DeliveryTypeID).WillCascadeOnDelete(false);
modelBuilder.Entity<Order>()
.HasRequired(u => u.UserPaymentType)
.WithMany()
.HasForeignKey(u => u.PaymentTypeID).WillCascadeOnDelete(false);
//and without that part of code
modelBuilder.Entity()
.HasRequired(u=>u.UserCountry)
.有很多
.HasForeignKey(u=>u.CountryID).WillCascadeOnDelete(false);
modelBuilder.Entity()
.has必需(u=>u.CompanyCountry)
.有很多
.HasForeignKey(u=>u.companyCountry)。将级联删除(false);
modelBuilder.Entity()
.HasRequired(u=>u.UserDeliveryType)
.有很多
.HasForeignKey(u=>u.DeliveryTypeID).WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasRequired(u=>u.UserPaymentType)
.有很多
.HasForeignKey(u=>u.PaymentTypeID)。WillCascadeOnDelete(false);
//没有那部分代码
orderRepository.Query()做什么?它只是返回context.Orders
,还是做得更多?.HasRequired(u=>u.CompanyCountry)。WithMany().HasForeignKey(u=>u.CompanyCountry)
看起来很可疑:您有两个属性,它们的名称只是大小写不同,因此不区分大小写的属性搜索将导致您得到的异常。如果重命名其中一个属性,还会出现错误吗?@hvd-orderRepository.Query()
返回context.Orders
。就这些。是的,我试着给它重新命名,但没有成功——还是同样的错误。
modelBuilder.Entity<Order>()
.HasRequired(u => u.UserCountry)
.WithMany()
.HasForeignKey(u => u.CountryID).WillCascadeOnDelete(false);
modelBuilder.Entity<Order>()
.HasRequired(u => u.CompanyCountry)
.WithMany()
.HasForeignKey(u => u.companyCountry).WillCascadeOnDelete(false);
modelBuilder.Entity<Order>()
.HasRequired(u => u.UserDeliveryType)
.WithMany()
.HasForeignKey(u => u.DeliveryTypeID).WillCascadeOnDelete(false);
modelBuilder.Entity<Order>()
.HasRequired(u => u.UserPaymentType)
.WithMany()
.HasForeignKey(u => u.PaymentTypeID).WillCascadeOnDelete(false);
//and without that part of code