升级到EF6后 - 无法将该属性配置为导航属性

时间:2014-04-28 07:11:03

标签: entity-framework asp.net-mvc-5 entity-framework-6

我有以下课程:

[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

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我删除了InverseProperty个属性,问题解决了。希望它有所帮助。