我有一个字段Organization.RemappedOrganization
,它映射到数据库中的Organization.Recno
。当我尝试使用Organization
对象时,出现错误:
InvalidOperationException:无法为属性调用Property' RemappedOrganization'实体类型'组织'因为它被配置为导航属性。属性只能用于配置标量属性。
我猜测我没有在实体框架中正确设置...但不确定如何。
public class Organization
{
[Key]
public int? Recno { get; set; }
public string OrganizationName { get; set; }
public bool PermanentlyDisplay { get; set; }
[ForeignKey("RemappedOrganization")]
public virtual Organization RemappedOrganization { get; set; }
public DateTime? DateAdded { get; set; }
}
modelBuilder.Entity<Organization>().ToTable("Organization")
.HasIndex(p => new { p.OrganizationName }).IsUnique();
答案 0 :(得分:0)
您收到错误,因为未正确配置以下属性:
[ForeignKey("RemappedOrganization")]
您正在使用ForeignKey
属性装饰导航属性,并指定与属性值相同的属性。
您有两种方法可以解决错误:
RemappedOrganizationId
(必须是标量属性),并将该属性名称用作ForeignKey
的值。