首先 什么是linq呢 ?
LINQ即Language Integrated Query(語言集成查詢),LINQ是集成到C#和Visual Basic.NET這些語言中用于提供查詢數據能力的一個新特性。
它是.NET框架的擴展,它允許我們以數據庫查詢的方式查詢數據集合。
借助于LINQ技術,我們可以使用一種類似SQL的語法來查詢任何形式的數據。
接下來講講我工作中用到的
linq中的數組篩選數據庫中的數據
public List GetList1(string cardPhone,string[] carNo)
{
var q = from r in DB().TAB_TEL_ADVISORY
where r.CUST_TEL == cardPhone || carNo.Contains(r.CAR_NO)
select new TelAdvisory
{
ID = r.ID,
CustTel = r.CUST_TEL,
CustName = r.CUST_NAME,
CarNo = r.CAR_NO,
AdvisoryContent = r.ADVISORY_CONTENT,
AdvisoryDate = r.ADVISORY_DATE,
AnswerResult = r.ANSWER_RESULT,
Server = r.SERVER,
};
return q.ToList();
}
LINQ中的增刪改都要調用SubmitChanges方法
public bool ResetPassWord(UserType type, int userId, string newCryptPassword)
{
var db = DB();
try
{
switch (type)
{
case UserType.雇員:
{
var tab = db.TAB_EMPLOYEE.Single(r => r.ID == userId);
tab.LOGIN_PWD = newCryptPassword;
break;
}
case UserType.合作商:
{
var tab = db.TAB_PARTNER.Single(r => r.ID == userId);
tab.LOGIN_PWD = newCryptPassword;
break;
}
}
db.SubmitChanges();
return true;
}
catch
{
return false;
}
}
db.account.DeleteOnSubmit(account);
db.account.InsertOnSubmit(account);
db.SubmitChanges();
linq中的搜索條件,傳入的參數是空的或者有值的,或者是關鍵字
query = (from r in db.TAB_PARTNER
where ((partnerType != -1 && r.partner_type == partnerType) || partnerType == -1)
&& ((searchKey != "" && r.PARTNER_NAME.IndexOf(searchKey) > -1) || searchKey == "")
orderby r.partner_type ascending
linq to sql分頁的問題
Skip(100)代表跳過100行后.從第101行開始分頁;
take(10)表示多少行分頁; pagesize為每頁顯示的數據條數
q.Skip(PageSize * (CurrentPage - 1)).Take(PageSize).ToList();
新聞熱點
疑難解答