我有一种情况,我试图在2张桌子上进行连接。
表一具有以下内容:
User ID
john 1
mary 3
tim 4
表2具有以下内容:(请注意,表2中的ID以逗号分隔。请注意,表2中的每个ID都是唯一的。)
company ID
100 '150', '4', '9'
101 '102','2', '10'
正如您在表2的第一行中看到的那样,与用户tim匹配,因为它们都有4个,因此公司100关联。
问题与LINQ有关我不知道如何在这两个表之间进行连接。
答案 0 :(得分:0)
您可以拆分公司表ID并将其格式化为更易读的列表:
var companiesReadableList =
companies.SelectMany(x => x.ID.Replace("'", "").Split(',').Select(y => new {ID = y.Trim(), company = x.company}));
剩下的就是加入用户表:
var joinedView = users.Join(companiesReadableList, user => user.ID.ToString(), company => company.ID,
(user, company) => new {user.user, user.ID, company.company});
希望有所帮助
答案 1 :(得分:0)
尝试使用带有单引号的like
子句
var res = from Table1
join Table2
on SqlMethods.Like(Table1.Id , '\'' + Table2.Id + '\'')
select ....
我无法对此进行测试,但我的答案基于this
如果linq-to-sql ,应该有效