1
我填充一個DataGrid與下面的LINQ代碼:的LINQ to SQL不更新,如果我有一個計算列
Dim myClients = From p In dc.Persons _
Select p
我可以瀏覽我的DataGrid中,進行更改,然後點擊調用按鈕
dc.SubmitChanges()
所有這一切運行良好並更新SQL Server。
然後,我想添加一個額外的列,將顯示基於函數的計算年齡。我用下面的代碼來創建一個PersonAge列,它工作。
Dim myClients = From p In dc.Persons _
Select New With {p.PersonID, _
p.PersonName, _
p.PersonGender, _
.PersonAge = CalcCurrentAge(p.PersonDOB, p.PersonFirstContactDate, p.PersonFirstContactAge) _
}
但是,我注意到我不能再成功地將任何更新保存回SQL。
所以我的問題是,我怎樣才能把保存更新正確的第一個LINQ代碼的簡單性,並與包含PersonAge列的第二個LINQ代碼混合以創建一個可計算年齡列的可更新DataGrid?
嗨羅伯特,我把它從你的答覆,如果想使用LINQ更新,我不能有任何的計算方法爲列?這不僅僅是我錯誤地編寫我的LINQ的情況呢? – Mitch 2010-02-10 11:27:12
林猜測Linq語句中的計算列與數據庫中的任何相應列不匹配,因此整個更新失敗。 – 2010-02-11 15:03:06