时遇到了问题搞清楚如何添加一个连接到它:添加加入到这个LINQ查询
var chi = Lnq.attlnks.Where(a => a.ownerid == emSysid)
.Select(c => new { sysid });
我怎样才能将这个以“附加”表(ON attlnks.sysid = attach.sysid)
和选择“名称”其中sysid是行ID?
时遇到了问题搞清楚如何添加一个连接到它:添加加入到这个LINQ查询
var chi = Lnq.attlnks.Where(a => a.ownerid == emSysid)
.Select(c => new { sysid });
我怎样才能将这个以“附加”表(ON attlnks.sysid = attach.sysid)
和选择“名称”其中sysid是行ID?
对于Linq中加入了查询的表现形式通常是更具可读性比lambda语法 - 我相信这是你所要求的:
var chi = from t in Lnq.attach
join a in Lnq.attlnks
on t.sysid equals a.sysid
where a.ownerid == emSysid
select t.name;
如果只有一个条目,应匹配最多,你可以在这种情况下,链接一个FirstOrDefault()
(或类似的SingleOrDefault,单,第一等其他替代品):
var chi = (from t in Lnq.attach
join a in Lnq.attlnks
on t.sysid equals a.sysid
where a.ownerid == emSysid
select t.name).FirstOrDefault();
如果我明白你的问题,这应该很好地工作:
var query = from a in attlinks
join aa in attach on a.sysid equals aa.sysid into a2
where a2.sysid == a2.ownerid
select a2.Name;
我熟悉方法的语法,所以在Lambda中这样做是一团糟呢?我从看到的例子中得到了这种印象,谢谢 – 2012-04-22 04:30:57