ASP.NET MVC-LINQ 之 insert update select

摘要: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};