2009-12-15 67 views
0

即时通讯尝试测试,然后实现LINQ 2 SQL作为我的数据访问到我的N层应用程序,因为我今天读了一些信息,我在数据库中添加了一个DateTime列,我的L2S设计师我将设计器中每个“列”的TimeStamp属性更改为true,并强制将AutoGenerated Value设置为true。但是,当我把我的对象返回到datacontext我得到“成员'System.DateTime ModifiedDate'和'System.Data.Linq.Binary TimeStamp'”都标记为行版本。 InvalidOperationException异常。LINQ 2 SQL N层应用程序

我有这种感觉,因为我将此列添加为允许NULL,因为我有行,我只是不想删除它们,可以参与此操作。我也当我尝试更新对象,我不发送ModifiedDate与它并获取默认值。这可能会导致并发性问题,我猜,但我还没有。

我只是想更新它现在没有对并发异常的操作。但是,另一个步骤将是处理这些事情。

任何想法?

回答

1

您可能遇到的一个问题是DateTime列不是Timestamp列。如果您为L2S并发检查添加了DateTime列,则应该使该列成为Timestamp列,而不是DateTime列。

兰迪

+0

谢谢,就是这样。我现在得到一个ChangeConflictException,这似乎想要处理并发问题。坏消息是CF 3.5中不支持System.Data.Linq,所以并发冲突不能由Linq 2 SQL开箱即用:) – 2009-12-15 15:54:02