实体类型"帐户"未定义键.定义此实体类型的键



我有两个实体类:

namespace PowerSupply.Domain
{
[Table("Accounts")]
public class Account
{
public int Id;
public string CompanyName;
public float Interval;
}
}

namespace PowerSupply.Domain
{
public class ContactInfo
{
public int Id { get; set; }
public string mobileNo { get; set; }
public virtual Account Account { get; set; }
}
}

和我的数据库上下文:

public class PowerSupplyDBContext : DbContext
{
public PowerSupplyDBContext() : base("PowerSupplyDatabase")
{
}
public DbSet<Account> Acounts { get; set; }
public DbSet<ContactInfo> ContactInfo { get; set; }
}

当我尝试启用迁移时,出现以下错误:

One or more validation errors were detected during model generation:
PowerSupply.Persistance.Facade.Account: : EntityType 'Account' has no key defined. Define the key for this EntityType.
Acounts: EntityType: EntitySet 'Acounts' is based on type 'Account' that has no keys defined.

我研究并阅读了这个副本。 所有属性都设置为公共。知道吗?

您必须Id属性中设置[Key]注释,并且不要忘记getters和setters:

namespace PowerSupply.Domain
{
[Table("Accounts")]
public class Account
{
[Key]
public int Id {get; set;}
public string CompanyName {get; set;}
public float Interval {get; set}
}
}

最新更新