[英]Linq Query for expected result
public class Actor
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string ShortName { get; set; }
public virtual IList<BankAccount> BankAccounts { get; set; }
}
public class BankAccount
{
public virtual int Id { get; set; }
public virtual string IbanPrefix { get; set; }
public virtual string Number { get; set; }
}
public class BankAccountModel
{
public int Id { get; set; }
public string IbanPrefix { get; set; }
public string Number { get; set; }
}
public BankAccountModel[] BankAccounts { get; set; }
我想使用linq查询选择垂直actor ID的阵列BankAccounts属性中的所有bankaccounts。
我尝试了如下
var query = Repository.Query<Actor>().Where(a => a.Id == parameters.ActorId)
.Select(a => a.BankAccounts);
BankAccounts = query.Select(account => account.Select(a=>
new BankAccountModel
{
Description = a.Description,
IbanPrefix = a.IbanPrefix,
Id = a.Id,
Number = a.Number
}).ToArray());
但是它对我不起作用。
Repository
.Query<Actor>()
.Where(a => a.Id == actorId)
.SelectMany(a => a.BankAccounts)
.Select(ba => new BankAccountModel
{
IbanPrefix = ba.IbanPrefix,
Id = ba.Id,
Number = ba.Number
}
);
如果您想将actros银行帐户与BankAccounts
属性进行匹配,请尝试以下操作,
Repository
.Query<Actor>()
.Where(a => a.Id == actorId)
.SelectMany(a => a.BankAccounts)
.Where(ba => BankAccounts.Any(ac => ac.Id == ba.Id))
.Select(ba => new BankAccountModel
{
IbanPrefix = ba.IbanPrefix,
Id = ba.Id,
Number = ba.Number
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.