Linq选择Item,它在另一个表中等于ID
我不确定这是多么可能,但我有两个表,我想通过表1的值从表2中获取一个值。
表1有一个名为“rank”的外键,它是一个int
。 表2有一个名为“name”的值,它是一个string
。 现在表1的“等级”与表2的“ID”相关。
所以,当我说
var result = db.Table1.Select(x => new { x.name, x.rank }).ToList(); //Bob - 2
我真的想说些什么
var result = db.Table1.Select(x => new { x.name, Table2.rank.Where(ID == x.rank) }).ToList(); //Bob - Gold
我仍然是LINQ的新手,我不知道如何在这样的查询中从其他表中获取rank
的字符串值。
编辑
我正在使用的表及其关系值。
用户:ID(PK),s1elo(FK到PastElos),冠军(FK到ChampionList),elo(FK到EloList)
PastElo:ID(PK),排名
冠军名单:ID(PK),名称
EloList:ID(PK),Rank
用户和PastElo的工作示例
var result = db.Users.Join(db.PastEloes, x => x.s1elo, y => y.ID, (x, y) => new { y.Rank, x.name, x.other_items_in_Users }).ToList();
注意:PastElo是PastEloe的,因为当我同步我的数据库时,EF使所有内容都复数,因此为什么User也是用户,我认为这被称为“上下文”。
您可以尝试以下内容:
var result = db.Table1.Join(db.Table2, x=>x.rank, y=>y.ID, (x,y) => new { x.rank, y.Name }).ToList();
在上面的linq查询中,我们根据关联在Table1
和Table2
之间建立一个Join
,然后我们选择我们想要的。
您可以尝试编写此查询的另一种方法如下:
上述就是C#学习教程:Linq选择Item,它在另一个表中等于ID分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
var result = (from t1 in db.Table1 join t2 in db.Table2 on t1.rank equals t2.ID select new { t1.rank, t2.Name, }).ToList();
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/955924.html