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