日期:2014-05-20  浏览次数:21007 次

linq怎么取出查询的单条数据.
var result = from tab in pd.PerCustomerAccount
where tab.ActUserName == username && tab.ActPassword == pwd
select new
{
tab.PerID,
tab.ActUserName,
tab.ActPassword
};
请问单挑记录怎么取值呢不通过foreach循环
foreach(var i in result){PerID = i.PerID}
我只会上面的foreach循环取值,怎么样通过result直接取值呢,谢谢了

------解决方案--------------------
result.ElementAt(int Index)

------解决方案--------------------
result.ToList()[0]
------解决方案--------------------
正解:
两种办法
1、
var value = null ;
if( !result.any() )
{
//做没有数据的处理
}
value = result .frist() ;
2、
var result = 
(
from tab in pd.PerCustomerAccount 
where tab.ActUserName == username && tab.ActPassword == pwd 
select new 

tab.PerID, 
tab.ActUserName, 
tab.ActPassword 
}
).DefaultIfEmpty();
此时的result要么为空,要么只有一条记录 :