我对实体模型框架有很多困难。
我只是在学习如何使用它,所以请耐心等待。
这是一个例外,以及它被抛出的代码行:
这就是模型的样子,以及它继承自
的模型
这是映射细节的样子:( if语句的顶部被截断)
这是AccountContext的样子
如果我没有提供足够的信息,请告诉我
如何映射“用户”实体?
答案 0 :(得分:3)
您有一个类层次结构,继承映射有三种不同的策略:TPH, TPT and TPC。
据我所知,在所有三种策略中,您需要将基类包含在DbContext中:
public class AccountContext : DbContext
{
public DbSet<BaseModel> BaseModels { get; set; }
}
这会自动导致TPH映射。对于其他两种策略,您需要通过数据注释或Fluent API进行其他映射。
修改强>
要查询派生类(例如User
),您可以使用OfType
方法,例如:
UserDb.BaseModels.OfType<User>().ToList()
这会将User
类型的所有实体返回到列表中。