我希望能够将实体的子集查询到另一个模型中。例如,假设我想从多个模型中提取联系人信息并返回联系人模型。这只是一个例子:
public class Store
{
public int ID { get; set; }
public string Name { get; set; }
public string Phone { get; set; }
...
}
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
public string Phone { get; set; }
...
}
// Not an entity
public class Contact
{
public int ID { get; set; }
public string Name { get; set; }
public string Phone { get; set; }
public string Type {get; set; }
}
我想从商店和个人查询ID,姓名和电话。将结果合并在一起并将其强烈输入为Contact以传递给我的视图。类型和ID将作为引用返回到原始实体,因此我可以执行一些CRUD操作。
EF 6可以实现吗?这样做的更好方法是什么?
答案 0 :(得分:0)
你应该可以这样做:
dbContext.Stores.Select(s => new Contact
{
ID = s.ID,
Name = s.Name,
Phone = s.Phone,
Type = "Store",
})
.Union(dbContext.Persons.Select(p => new Contact
{
ID = p.ID,
Name = p.Name,
Phone = p.Phone,
Type = "Person",
}));
(对您的DbContext
和DbSet
名称有一些假设)。