我想对FromSqlRaw
视图模型和它们之间的继承使用查询。我创建了两个示例视图模型:
public class SummaryVM
{
public int Quantity { get; set; }
public int Value { get; set; }
}
public class DistrictVM : SummaryVM
{
public string DistrictName { get; set; }
}
我的DbContext
有这个内容:
public DbSet<SummaryVM> SummaryVMs { get; set; }
public DbSet<DistrictVM> DistrictVMs { get; set; }
...
modelBuilder.Entity<SummaryVM>().HasNoKey();
我的查询:
return await _context.DistritVMs.FromSqlRaw(query).ToListAsync();
但我收到一个错误:
SqlException:列名“鉴别器”无效。列名“区名”无效
我知道这是由于 TPH 模式,如果我不使用继承,我可以解决这个问题,但是如何在没有 TPH 的情况下使用这两个具有继承的表,好吗?
解决方案 我必须创建一个未注册为实体的基类:
public abstract BaseClass
{
public int Quantity { get; set; }
public int Value { get; set; }
}
public class SummaryVM : BaseClass
{
}
public class DistrictVM : BaseClass
{
public string DistrictName { get; set; }
}