C# 用于预期结果的Linq查询 公共类参与者 { 公共虚拟整数Id{get;set;} 公共虚拟字符串名称{get;set;} 公共虚拟字符串短名称{get;set;} 公共虚拟IList银行帐户{get;set;} } 公营银行帐户 { 公共虚拟整数Id{get;set;} 公共虚拟字符串IbanPrefix{get;set;} 公共虚拟字符串编号{get;set;} } 公共类银行账户模型 { 公共int Id{get;set;} 公共字符串IbanPrefix{get;set;} 公共字符串编号{get;set;} } public BankAccountModel[]银行帐户{get;set;}

C# 用于预期结果的Linq查询 公共类参与者 { 公共虚拟整数Id{get;set;} 公共虚拟字符串名称{get;set;} 公共虚拟字符串短名称{get;set;} 公共虚拟IList银行帐户{get;set;} } 公营银行帐户 { 公共虚拟整数Id{get;set;} 公共虚拟字符串IbanPrefix{get;set;} 公共虚拟字符串编号{get;set;} } 公共类银行账户模型 { 公共int Id{get;set;} 公共字符串IbanPrefix{get;set;} 公共字符串编号{get;set;} } public BankAccountModel[]银行帐户{get;set;},c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,我想使用linq查询选择特定参与者Id的数组bankaccounts属性中的所有bankaccounts 我试过如下方法 public class Actor { public virtual int Id { get; set; } public virtual string Name { get; set; } public virtual string ShortName { get; set; } pub

我想使用linq查询选择特定参与者Id的数组bankaccounts属性中的所有bankaccounts

我试过如下方法

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; }
var query=Repository.query().Where(a=>a.Id==parameters.ActorId)
.选择(a=>a.银行账户);
BankAccounts=query.Select(账户=>account.Select(a=>
新银行账户模式
{
描述,
IbanPrefix=a.IbanPrefix,
Id=a.Id,
数字
}).ToArray());
但这对我不起作用

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
                   }
        );
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
                   }
        );