所以这里是sql查询:
Select distinct A.CategoryName, A.CategoryID, B.ProjectID
from [EvalTool].[dbo].[Category] A
Left Join [EvalTool].[dbo].[CategoryAndProject2] B
On A.CategoryID = B.CategoryID AND B.ProjectID = 65
和希望平等的 linq 声明:
int pID = (int)Session["projectSession"];
ViewData.Model = (from c in _db.Category
join r in _db.CategoryAndProject2
on c.CategoryID equals r.CategoryID into join1
from j in join1.DefaultIfEmpty()
where j.ProjectID == pID
select new CategoryDTO
{
CatID = c.CategoryID,
CatName = c.CategoryName,
ProjID = (int) j.ProjectID
}).Distinct().ToList();
sql语句的结果如下表:
CategoryName ID ProjectID
- - - - - - - - - - - - - - - - - -
x 1 NULL
y 2 NULL
z 3 NULL
m 4 NULL
n 5 NULL
i 6 NULL
o 7 NULL
r 8 NULL
s 9 65
u 10 65
而 linq 语句仅列出 2 行,即那些没有空条目的行。
CategoryName ID ProjectID
- - - - - - - - - - - - - - - - - -
s 9 65
u 10 65
但我需要那些在我的视图中有一个空条目的行。
我怎样才能确保也选择那些?
非常感谢提前标记