[英]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; }
I want to select all bankaccounts in array BankAccounts property of perticular actor Id using linq query. 我想使用linq查询选择垂直actor ID的阵列BankAccounts属性中的所有bankaccounts。
I have tried as below 我尝试了如下
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());
But its not working for me. 但是它对我不起作用。
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
}
);
If you want to match actros bankaccounts with BankAccounts
property, try something like this, 如果您想将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.