linqor怎麼寫
- 綜合知識
- 關注:1.18W次
var result=from t in
(from p in A join q in B
on new {TId=p.id} equals new {TId=q.id}
into tempList
from tt in tempList.DefaultIfEmpty()
select new{aid=(tt == null ? 0 : tt.id),
name=(tt == null ? 0 : tt.name)})
group t by new {t.aid,t.name}
into g
select new{num=g.Count(t=>t.aid),aid=t.aid,name=t.name};
手打linq 大概是這樣,如果有bug 請你自己調下。
2. LINQ 怎麼寫查詢,自己寫的當然,可以自己手寫,但是大多數時候我們不會手寫。
手寫連線資料庫這塊,一般用於做個教程之類的,簡單直觀。
我也簡單的寫一個,以SQL SERVER的NORTHwinD資料庫為例吧:
var db = new DataContext
(@"Data Source=(local);Initial Catalog=Northwind;Integrated Security=true;");
var results = from c in db.GetTable<Customer>()
where c.City == "London"
select c;
foreach (var c in results)
Console.WriteLine("{0}t{1}", c.CustomerID, c.City);
3. LinQ中增刪改語句如何寫我還是貼程式碼吧,說是說不明白的。
以下是我的一個專案裡面的節選,分別實現了增刪查改功能,你可以看看LINQ對資料的操作。
/// <summary>
/// Select
/// </summary>
/// <returns></returns>
public IQueryable Linqmy()
{
var my = from s in db.account select s;
return my;
}
/// <summary>
/// Insert
/// </summary>
/// <param name="name"></param>
/// <param name="pwd"></param>
/// <returns></returns>
public bool LinqInsertmy(string name,string pwd)
{
account account = new account();
account.name = name;
account.pwd = pwd;
db.account.InsertOnSubmit(account);
db.SubmitChanges();
return true;
}
/// <summary>
/// Delete
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public bool LinqDelete(int id)
{
account account = db.account.Single(a => a.id == id);
db.account.DeleteOnSubmit(account);
db.SubmitChanges();
return true;
}
/// <summary>
/// Update
/// </summary>
/// <param name="id"></param>
/// <param name="name"></param>
/// <param name="pwd"></param>
/// <returns></returns>
public bool LinqUpdate(int id, string name, string pwd)
{
account account = db.account.Single(a => a.id == id);
account.name = name;
account.pwd = pwd;
db.SubmitChanges();
return true;
}
4. linq 查詢本週的所有資訊DateTime dt = DateTime.Now; //當前時間
DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本週週一
DateTime endWeek = startWeek.AddDays(6); //本週週日
var q = items.where(p=>p.date >= startWeek && p.date
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zonghezhishi/mwv822.html