【发布时间】:2013-10-29 19:18:24
【问题描述】:
我首先使用 EF 代码,我有两个继承自基类的类 (TPT):
public class Party
{
public int PartyId {get; set;}
}
public Person:Party
{
string FirstName { get; set; }
string LastName { get; set; }
}
public Organization:Party
{
string Name { get; set; }
}
现在,我想创建一个查询来获取所有Persons,他们的LastNames 等于“SomeName”,以及所有Organizations,他们的Name 在一个事务中以“A”开头。
像这样的
IList<Party> GetParties(string name, string organizationName)
{
IList<Party> result = new List<Party>();
using(var context = new MyContext())
{
var persons = context.Parties.OfType<Person>().Where(t=>t.LastName = name) ;
var organizations = context.Parties.OfType<Organization>().Where(t=>t.Name.StartWith(organizationName));
//return merge of persons and organizations
}
}
有什么办法吗?
【问题讨论】:
标签: c# linq inheritance ef-code-first table-per-type