我有两个表之间的二元关系,我需要将其转换为Entity框架 就这样, Indexs 表中的 TypesDescUse 字段包含一些数字。你需要将它们视为二进制值,并且它们的id在 DescUse 中,在传统的TSQL中通过二元关系可以具有来自DescUse表的名称。
example1:0001& 0011是0001,并且DescUse中的1具有逐个值的名称 “网站”
example2:1010& 1000是1000,而DescUse中的8具有名称“Desktop”的名称
select DU.Name AS Name from Indexs I
INNER JOIN DescUse DU ON I.TypesDescUse & DU.DescUseID <>0
你知道我怎么能在lambda Entity框架中做到这一点?
答案 0 :(得分:0)
from I in Indexs
join DU in DescUse on true equals true
where (I.TypesDescUse & DU.DescUseID) != 0
select new {Name = I.Name};
OR
Indexs.Join(DescUse,
I => true,
DU => true,
(I, DU) => new { IVal = I.TypesDescUse, DUVal = DU.DescUseID, Name = DU.Name })
.Where(x => (x.IVal & x.DUVal) != 0).Select(x => x.Name)