数据库中三张表关系如图:我现在想要在查询结果中有如下字段:ScoreFormID,ScoreFormName,CourseTypeName,UserTypeName其中,在表EvaluateTable中,UserTypeId和CourseTypeId字段可以为空,但是这字段为空的记录也要显示出来用linq to sql实现是不是不能这样,如果不能有没有其他方法可以实现这个要求,我搞了很久,都没头绪,请各位大侠多多指教啊...
select a.ScoreFormID,a.ScoreFormName,b.CourseTypeName,c.UserTypeName from EvaluateTable a left join CourseType b on a.CourseTypeId=b.CourseTypeId left join UserType c on a.UserTypeId=c.UserTypeId
如果是linq的话 就去.net版问
select F.ScoreFormID,F.ScoreFormName,C.CourseTypeName,U.UserTypeName from EvaluateTable F left join CourseType C on F.CourseTypeId=C.CourseTypeId left join UserType U on F.UserTypeId=U.UserTypeId 两个做链接可以实现
var result = from e in context.EvaluateTable join c from in context.CourseType on c.CourseTypeID Equals e.CourseTypeID join u in context.UserType on u.UserTypeID Equals e.UserTypeID select new {e.ScoreFormID,e.ScoreFormName,c.CourseTypeName,u.UserTypeName} 你试试吧
var result = from e in context.EvaluateTable join c from in context.CourseType on c.CourseTypeID Equals e.CourseTypeID join u in context.UserType on u.UserTypeID Equals e.UserTypeID select new {e.ScoreFormID,e.ScoreFormName,c.CourseTypeName,u.UserTypeName}就是Linq中的Join联合查询,相当与SQL中的Inner Join
from EvaluateTable a
left join CourseType b on a.CourseTypeId=b.CourseTypeId
left join UserType c on a.UserTypeId=c.UserTypeId
如果是linq的话
就去.net版问
EvaluateTable F
left join CourseType C on F.CourseTypeId=C.CourseTypeId
left join UserType U on F.UserTypeId=U.UserTypeId
两个做链接可以实现
你试试吧
var result = from e in context.EvaluateTable
join c from in context.CourseType
on c.CourseTypeID Equals e.CourseTypeID
join u in context.UserType
on u.UserTypeID Equals e.UserTypeID
select new {e.ScoreFormID,e.ScoreFormName,c.CourseTypeName,u.UserTypeName}就是Linq中的Join联合查询,相当与SQL中的Inner Join
这是我想要的结果
用9楼的方法得到的结果是:linq查询语句应该怎么写,才能得到第一张图的效果