我使用linq实体来获取一对多的关系。 一个客户有很多账户。
var query = from c in db.Client
where c.MetaProps.Deleteflag == 0
&& c.ContractNumber.Equals(clientNumber)
select new
{
Client = c,
Accounts = c.Accounts.Where(a => a.IsActive),
};
contract = query.FirstOrDefault().Client;
问题是,当数据库中没有帐户时,“帐户”列表为空。有没有办法将其初始化为空列表,例如何时使用.Include()
?
答案 0 :(得分:1)
当然,您可以使用空合并运算符。
var query = from c in db.Client
where c.MetaProps.Deleteflag == 0
&& c.ContractNumber.Equals(clientNumber)
select new
{
Client = c,
Accounts = c.Accounts.Where(a => a.IsActive) ?? Enumerable.Empty<Account>()
};
contract = query.FirstOrDefault().Client;