Asp.net mvc 如何从MVC中的两个实体获取数据?

Asp.net mvc 如何从MVC中的两个实体获取数据?,asp.net-mvc,Asp.net Mvc,我正在开发MVC应用程序并使用razor语法。我使用了模型优先的方法 我有两个实体,客户和领导。潜在客户继承自客户 当IsActive属性为true时,则将客户视为潜在客户,否则它将是客户 请检查edmx文件图像 现在,在常规实体中,我们只处理单个实体和单个表。 在这种情况下,我如何处理、保存和加载进程。因为我必须从数据库的两个表中存储和加载记录。 常规索引视图在这里可用吗 在实体框架中使用继承时,在DbContext上有一个暴露层次结构的DbSet。在数据库中,有几个选项可用于配置表结构。例

我正在开发MVC应用程序并使用razor语法。我使用了模型优先的方法

我有两个实体,客户和领导。潜在客户继承自客户

当IsActive属性为true时,则将客户视为潜在客户,否则它将是客户

请检查edmx文件图像

现在,在常规实体中,我们只处理单个实体和单个表。 在这种情况下,我如何处理、保存和加载进程。因为我必须从数据库的两个表中存储和加载记录。
常规索引视图在这里可用吗

在实体框架中使用继承时,在
DbContext
上有一个暴露层次结构的
DbSet
。在数据库中,有几个选项可用于配置表结构。例如,您可以使用:

  • 每个层次结构的表
  • 每种类型的表格
  • 每种混凝土类型的表
(有关详细说明,请参阅此博客:

但是,在查询中,您不必考虑这一点。您的查询将具有以下结构:

var leads = from l in dbcontext.Leads.OfType<Customer>()
            select l;
var leads=来自dbcontext.leads.OfType()中的l
选择l;

将您的集合筛选为层次结构中的子类型。如果跳过类型的
,您将在结果查询中同时获得客户和潜在客户。

如果看到我的实体结构,您将知道,客户是基本实体,潜在客户是继承实体。现在,客户和潜在客户对象都将从同一自定义表中获取记录呃。现在,我添加了名为IsActive的字段来区分这两个字段。如果IsActive为True,则该客户将被视为潜在客户。现在的问题是如何在索引视图中获取潜在客户?
var leads=from l in db.Customers.OfType()选择l;返回视图(leads.ToList());
此查询返回0条记录。如果EF应该使用您的IsActive列映射您的继承层次结构,则它不应该显示在设计器中。您是如何映射您的层次结构的?请浏览此问题,我已发布此问题。在回答此问题之前。。。