首页 > 解决方案 > 如何访问相关数据并将外键转换为对象以显示其属性

问题描述

我有

class User {
...
...
ICollection<Transaction> transactionsUserMade;
}

class Transaction {
int ID;
int userThatSentMoneyID;
int userToWhomHeSentMoneyID;
}

我正在尝试制作个人资料页面,用户可以在其中查看他进行的所有交易以及对谁进行的交易。我设法将用户和交易联系起来,但我得到了整数值,我应该使用

await _context.Users
    .Include(u => u.transactionsUserMade)
    .AsNoTracking()
    .FirstOrDefaultAsync(u => u.ID == userId);

如何将这些 ID 转换为用户的实际对象,以便我可以获取他们的用户名并将它们显示在 Razor 页面上。

标签: asp.netasp.net-coreasp.net-core-2.0

解决方案


找到了一种解决方案。User userThatRecievedMoney我通过添加属性来调整事务类。在从特定用户那里获得交易后,我手动设置了该属性。

foreach(var transaction in _user.transactionsUserMade)
{
    transaction.userThatRecievedMoney = _context.Users
       .Where(u => u.ID == transaction.userToWhomHeSentMoneyID).FirstOrDefault();
}

推荐阅读