2015-01-21 28 views
0

是否可以使用反射或表達式來修改Linq2Sql對象? 作爲一個簡單的例子,這是行不通的:Linq2Sql上的SetValue對象

MyDataClassDataContext db = new MyDataClassDataContext(); 
var actionData = (from ac in db.Actions where ac.ActionID == action.ActionID select ac).First(); 
var property = typeof(Action).GetProperty("ActionID"); 
property.SetValue(33, actionData); 

... 

db.SubmitChanges(); 
db.Dispose(); 

回答

0

這應該工作,但是你必須顯式調用Update方法,不僅的SubmitChanges(),因爲linq2db不跟蹤更改

+0

道歉,我應該寫它在'SetValue'上失敗。它說'33'不是同一類型。這只是一個例子,但在這個例子中,'33'和'ActionID'都是int(兩者都是非空),'actionData.ActionID = 33;'工作正常 – tic 2015-01-28 17:48:58

相關問題