2017-01-26 135 views
0

二元关系的病情,我有2个表之间的二元关系,我需要翻译,在实体框架 正是在这样TypesDescUse指数法表包含一些数字。您需要将它们视为二进制值,并且它们的ID是DescUse在传统TSQL中通过二进制关系可以具有DescUse表的名称。包括在实体框架

例1:0001 & 0011是0001和在DescUse 1已经由值 “网站”

示例2命名:1010 & 1000是1000和在DescUse 8按值具有名称 “桌面”

select DU.Name AS Name from Indexs I 
INNER JOIN DescUse DU ON I.TypesDescUse & DU.DescUseID <>0 

你有什么想法我怎么能在lambda实体框架中做到这一点?

+0

感谢朱莉娅怎么样拉姆达版本? – Hesam

回答

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)