考虑两条替代线:
modelBuilder.Entity<CommissionStructure>().HasMany(c => c.CommissionUnits).WithOptional().WillCascadeOnDelete(true);
modelBuilder.Entity<CommissionStructure>().HasMany<CommissionUnit>(c=>c.CommissionUnits).WithOptional().WillCascadeOnDelete(true);
第一行抱怨无法从使用中推断出 TTarget。
所以我尝试了第二行,但是它现在抱怨无法将 IEnumerable 转换为 ICollection,即使我的模型没有在任何地方定义为 ICollection。
有任何想法吗?CommissionUnits 是 CommissionStructure 内的嵌套 IEnumerable 集合。这是以前的 IList,但 IList 在我使用 OrderBy 的存储库中从 LINQ 查询执行 ToList() 时出现问题。这就是为什么我在我的存储库中公开 IEnumerable 而不是 IList 的原因。所以我有点卡在岩石和坚硬的地方之间!