最近在學習linq to sql,於是自己做了乙個例子。但是,當用到linq to sql來更新資料的時候,我傻眼了。
wwsdatacontext db = newwwsdatacontext();
tb_userinfor userinfor= db.tb_userinfor.first(u => u.id == 1
);userinfor.username= "
zhang li";
db.submitchanges();
wwsdatacontext db = newwwsdatacontext();
db.tb_userinfor.attach(model);
db.submitchanges();
結果報錯,不能用。然後看到說attach(entity)方法預設呼叫attach(entity, false),要使用attach(entity, true),於是改了,但可惜,還是報錯。
然後我就想,不就是先查詢出相應的實體類,然後給各個屬性賦值嘛。那我能不能遍歷屬性呢?
propertyinfo pis = typeof(類名).getproperties();
foreach (propertyinfo pi in
pis)
然後,結合我現有情況,造就了下面的**:
tb_userinfor sql = db.tb_userinfor.first(u => u.id ==model.id);//獲取該型別所有屬性
propertyinfo pis = typeof
(tb_userinfor).getproperties();
//依照屬性集合,遍歷實體類的值,並賦值給datacontext例項
foreach (propertyinfo pi in
pis)
db.submitchanges();
測試,發現修改成功。這下再也不用寫一大堆屬性賦值了,不然真的會要人命啊!!!
Linq to Sql之簡單應用
1,普通方式 增刪改查 新增資料 li new linq.linq i tabledatacontext 例項化乙個表,並繫結資料 linq.i table ii new linq.i table ii.i type typetext.value ii.i fund fundtext.value l...
Linq to SQL之查詢和新增
本文以northwind資料庫中的customers和orders表為例說明linq to sql的查詢和新增是怎樣操作的。首先通過linq to sql file嚮導建立datacontext以及相應的entity class,如果不知道怎樣做請看這裡 defining data model cl...
Linq to Sql 更新資料時容易忽略的問題
越來越多的朋友喜歡用linq to sql來進行開發專案了,一般我們都會遇到crud等操作,不可否認,在查詢方面linq真的帶來很大的便利,效能方面也表現不錯,在插入操作和刪除操作中,linq的表現也還不錯,但是在更新某條記錄的時候,效能就相對比較弱了,我們一般會使用executesql等方法來執行...