C# 正在尝试获取Id的列表';来自MVC控制器中的对象列表的
我正在建立一个所有银行账户及其对应交易的列表,以便用户根据他们所处的“家庭”情况查看。我可以很好地获得帐户列表,但是我在获取交易时遇到了麻烦C# 正在尝试获取Id的列表';来自MVC控制器中的对象列表的,c#,linq,model-view-controller,C#,Linq,Model View Controller,我正在建立一个所有银行账户及其对应交易的列表,以便用户根据他们所处的“家庭”情况查看。我可以很好地获得帐户列表,但是我在获取交易时遇到了麻烦 var model = new DashboardViewModel(); var user = db.Users.Find(User.Identity.GetUserId()); var houseAccounts = db.BankAccounts.Where (b => b.HouseholdId == user.MyHouseId)
var model = new DashboardViewModel();
var user = db.Users.Find(User.Identity.GetUserId());
var houseAccounts = db.BankAccounts.Where
(b => b.HouseholdId == user.MyHouseId).ToList();
model.BankAccounts = houseAccounts;
model.Transactions = db.Transactions.Where
(t => t.BankAccountsId == houseAccounts.Id);
在houseCounts.Id中,我收到一个错误,指出“列表不包含'Id'的定义…”
每个银行账户分配一个HouseholdId,每个交易分配一个BankAccountsId。我数据库中的所有对象都有一个由我构建的类创建的Id号。我怎么才能把它拿到这里来
在houseCounts.Id中,我得到一个错误,指出“列表不包含'Id'的定义…”
HouseCounts是银行账户列表,列表中没有Id。
实际上,列表中的每个对象(本例中为BankAccout)都有一个Id
因此,如果您想从HouseCounts获得ID,可以执行以下操作:
var houseAccountIdList = houseAccounts.Select(it => it.Id);
有了Id列表,您可以获得如下交易:
model.Transactions = db.Transactions.Where(it => houseAccountIdList.contains(it.BankAccountsId));
类型
houseCounts
是银行账户列表,除非您引用列表中的项目,否则您肯定无法从中获取属性Id
。请尝试以下内容:
foreach (var account in houseAccounts){
//Retrieve and add transactions based on each individual list-item id
model.Transactions.Add(db.Transactions.Where (t => t.BankAccountsId == account.Id));
}