public ClientApp_Detail GetHomeDetbyClientID_AppID(string clientid, long appId)
{
ClientApp_Detail sp = null;
using (HelpDeskDataContext HDDC = Conn.GetContext())
{
sp = (from st in HDDC.ClientApp_Details where st.ClientID == clientid && st.AppID == appId && st.IsDeleted != true select st).FirstOrDefault();
}
return sp;
}
由于我是.NET的初学者,我无法理解上述查询的使用以及为什么它从st in声明。请解释这种类型查询的用法以及返回sp的内容(示例)变量
答案 0 :(得分:2)
from st in HDDC.ClientApp_Details
就像是
foreach(var st in HDDC.ClientApp_Details)
比通过以下评论过滤
st.ClientID == clientid && st.AppID == appId && st.IsDeleted != true select st
最后
FirstOrDefault();
如果没有匹配,将返回第一个elemant或默认值(默认值(T))。
P.S。正如已经讲过的那样,请看一下LINQ教程。这很简单。 或者您可以下载LinqPad。 LINQ sampel包含在内,可能是使用LINQ的最佳方式。
答案 1 :(得分:-1)
这里的HelpDeskDataContext是一个实体框架上下文。
(from st in HDDC.ClientApp_Details where st.ClientID == clientid && st.AppID == appId && st.IsDeleted != true select st).FirstOrDefault();
以上语句是LINQ查询,其中 ClientApp_Details 是HelpDeskDataContext的实体。
就像一个SQL查询---
select * from ClientApp_Details where st.ClientID==clientid && st.AppID == appId && st.IsDeleted != true
FirstOrDefault()
如果与条件不符,则会使用,然后返回默认值。