我首先使用 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; }
}
现在,我想创建一个查询以在一个事务中获取Person
它们LastName
的 s 等于“SomeName”的所有Organization
s 以及它们Name
以“A”开头的所有 s。像这样的东西
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
}
}
有没有办法做到这一点?