方法 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的主要内容,如果未能解决你的问题,请参考以下文章
GroovyGroovy 扩展方法 ( 扩展静态方法示例 | 扩展实例方法示例 | 扩展实例方法与扩展静态方法代码相同 )