我有以下课程:
[Table("TagSource")]
public class TagSource
{
public TagSource()
{
this.DataSources = new HashSet<DataSource>();
}
[Key]
public int TagSourceId { get; set; }
...
public bool IsHistorical { get; set; }
public Nullable<int> ModifiedEntryId { get; set; }
...
public int? AttachedTagSourceId { get; set; }
[ForeignKey("AttachedTagSourceId"), InverseProperty("TagSourceId")]
public virtual TagSource AttachedTagSource { get; set; }
[ForeignKey("ModifiedEntryId"), InverseProperty("TagSourceId")]
public virtual TagSource ModifiedEntry { get; set; }
}
我正在使用Entity Framework 5,但现在我已经(通过使用nuget)对最新版本6感到愤怒,在这之后我遇到了错误:
&#34;该物业&#39; TagSourceId&#39;无法配置为导航属性。该属性必须是有效的实体类型,并且该属性应具有非抽象的getter和setter。对于集合属性,类型必须实现ICollection,其中T是有效的实体类型。&#34;,&#34; ExceptionType&#34;:&#34; System.InvalidOperationException&#34;
我已阅读该主题,但我没有描述的参考: EF5 to EF6 upgrade - navigation properties are broken
答案 0 :(得分:1)
我遇到了同样的问题。我删除了InverseProperty
个属性,问题解决了。希望它有所帮助。