方法 System.Data.Entity.ModelConfiguration.EntityTypeConfiguration<Proyect.Models.Entity>.HasMan

Posted

技术标签:

【中文标题】方法 System.Data.Entity.ModelConfiguration.EntityTypeConfiguration<Proyect.Models.Entity>.HasMany<TTargetEntity> 的类型参数【英文标题】:The type arguments for method System.Data.Entity.ModelConfiguration.EntityTypeConfiguration<Proyect.Models.Entity>.HasMany<TTargetEntity> 【发布时间】:2017-03-15 21:25:54 【问题描述】:

我提出了一个很多人都知道的问题,但这让我很困扰,我需要你的帮助。也许很简单……但有时其他的眼睛可以看到我们看不到的东西……

我有这个方法:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
        
            base.OnModelCreating(modelBuilder);
            modelBuilder.Entity<ValorAtributoProducto>()
                .HasMany(i => i.AtributoProducto)
                .WithRequired().WillCascadeOnDelete(true);
        

这是完整的错误:

System.Data.Entity.ModelConfiguration.EntityTypeConfiguration<Proyect.Models.ValorAtributoProducto>.HasMany<TTargetEntity>(System.Linq.Expressions.Expression<System.Func<Proyect.Models.ValorAtributoProducto,System.Collections.Generic.ICollection<TTargetEntity>) cannot be inferred from the usage. Try specifying the type arguments explicitly.

【问题讨论】:

【参考方案1】:

要使用HasMany,该属性需要实现ICollecion,否则没有“Many”,只有“One”。

我真的认为你应该改用 HasRequired

【讨论】:

以上是关于方法 System.Data.Entity.ModelConfiguration.EntityTypeConfiguration<Proyect.Models.Entity>.HasMan的主要内容,如果未能解决你的问题,请参考以下文章

静态方法与实例方法,类方法与对象方法

init()方法和构造方法的区别

GroovyGroovy 扩展方法 ( 扩展静态方法示例 | 扩展实例方法示例 | 扩展实例方法与扩展静态方法代码相同 )

Python中静态方法和类方法的区别

类方法和实例方法

Java中的构造方法与普通方法的区别? 啥情况下用构造方法啥情况下用普通的方法