我在应用和版本之间有一对多的关系
public class App
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int AppId { get; set; }
public string Name { get; set; }
public virtual ICollection<Versions> AppVersions { get; set; } =
new List<Versions>();
}
public class Versions
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int VersionId { get; set; }
public string Description { get; set; }
[ForeignKey("AppId")]
public virtual App MyApp { get; set; }
}
//流畅的api以避免级联删除
modelBuilder.Entity<App>()
.HasMany(c => c.AppVersions)
.WithRequired(c => c.MyApp)
.HasForeignKey(e => e.AppId)
.WillCascadeOnDelete(false)
这很好但如果我将ICollection
更改为IReadOnlyCollection
(因为我不希望支持从应用程序添加和删除此字段,我会在&#39; HasMany&#上收到以下错误39;流利的api。
严重级代码说明项目文件行抑制状态 错误CS0411方法EntityTypeConfiguration.HasMany的类型参数(表达式&gt;&gt;) 无法从使用中推断出来。请尝试明确指定类型参数。
所以我不确定这是否正确。