[英]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.