2010-02-15 61 views
0

在SubSonic3中可以這樣做嗎?SubSonic3更新問題

_db.Update<Product>() 
    .Set("UnitPrice") 
    .EqualTo(UnitPrice + 5) 
    .Where<Product>(x=>x.ProductID==5) 
    .Execute(); 

我需要的東西,這LIK:

UPDATE  Blocks 
SET   OrderId = OrderId - 1 
WHERE  ComponentId = 3 

但SubSonic3

回答

1

我覺得你可以在這裏是你展示如何使用一個樣本亞音速3

// Linq To Sql可能沒有見過的一件事是能夠運行更新 //插入,我一直錯過了並且現在使用SubSonic 3.0實現的插入:

  db.Update<Products>().Set(
       x => x.Discontinued == false, 
       x => x.ReorderLevel == 100) 
       .Where(x=>x.Category==5) 
       .Execute(); 

     db.Insert.Into<Region>(x => x.RegionID, x => x.RegionDescription) 
      .Values(6, "Hawaii") 
      .Execute(); 

和這裏link充分論證

+0

TITAN,這是不是真的做我想要的。例如,我想設置一個等於當前值-1的值。在你的榜樣,你只是將所有記錄虛假和100 ... – 2010-02-23 14:19:56

+0

_db.Update () .SET( X => x.UnitPrice == x.UnitPrice + 5) 。凡(X => x.ProductID == 5) .Execute(); – 2010-02-24 05:23:09

+0

不,不起作用。 Set不接受Lambda表達式。 – 2010-02-24 09:16:59

0

我做它作爲一個選擇

var model = ClassName.SingleOrDefault(x => x.id == 1); 

model.name = "new name"; 
model.tel = " new telephone; 

model.save();