摘要:ASP.NET MVC-LINQ 之 insert update select
由於頁面的需求很多,通常逃不過新增、修改、查詢。
由於是翻寫別人的程式碼,所以我會遇到以上所有的需求。
到MVC,就大部分會使用LINQ來處理
此時,要怎麼做這些東西,以下是我翻寫別人程式後,所用到的各種新增、修改、查詢的技巧。
我把所有的資料庫查詢指令,都寫在BaseController
並開始做實驗
在BaseController有
DbContext.XXXEntityies db = new DbContext.XXXEntityies();
在裡面有各種方法,用來與資料庫存取
public bool exists(String ID)
{
bool exists = false;
var query = (from p in db.Sample
where p.ID == ID
select p.ID ).FirstOrDefault();
if(query != null)
exists = true;
return exists;
}
更新
public void useCount(String ID)
{
Sample query = (from p in db.Sample
where p.ID== ID
select p).FirstOrDefault();
query.count= query.count+ 1;
db.SaveChanges();
}
新增
public void insert(String ID)
{
Sample sample= new Sample ();
sample.ID = ID;
db.Sample .Add(sample);
db.SaveChanges();
}
其它技巧
在方法前加/// +Enter 會出現<summary>註解
使用Ctrl +M 可以摺疊程式碼
取得Guid使用 Guid.NewGuid();
F12 移至定義
需要判斷後,再加入where條件的話。
先query,後再使用 .Where();
如下
var query = from p in.db.Sample
select p ;
if(true)
query = query.Where(o=>o.p.ID == ID);
var entity = query.Select(o=>o.p.ID).FirstOrDefault();
如要使用Join
則
var query = from a in db.ATable
join b in db.BTable on a.ID equals b.AID
select new {a};