通过WCF更新具有时间戳列的实体时出现问题

通过WCF更新具有时间戳列的实体时出现问题,wcf,linq-to-sql,Wcf,Linq To Sql,我们试图通过WCF更新一个实体,该实体包含一个时间戳列。当我们尝试更新时,会得到以下数据。Linq错误,“无法更改由数据库计算或生成的成员”。此消息指的是时间戳列 如果我们不使用WCF尝试相同的更新,那么它可以正常工作。因此,问题必须与WCF有关。我们在Timestamp属性上有适当的[DataMember]属性用于序列化。有人知道问题是什么吗 谢谢你的帮助 兰迪这个问题与WCF毫无关系,真的 它真的是SQL Server时间戳数据类型吗 您无法更新这些字段-每当行发生任何情况时,SQL Ser

我们试图通过WCF更新一个实体,该实体包含一个时间戳列。当我们尝试更新时,会得到以下数据。Linq错误,“无法更改由数据库计算或生成的成员”。此消息指的是时间戳列

如果我们不使用WCF尝试相同的更新,那么它可以正常工作。因此,问题必须与WCF有关。我们在Timestamp属性上有适当的[DataMember]属性用于序列化。有人知道问题是什么吗

谢谢你的帮助


兰迪

这个问题与WCF毫无关系,真的

它真的是SQL Server
时间戳
数据类型吗

您无法更新这些字段-每当行发生任何情况时,SQL Server将自动更新这些字段

有关详细信息,请参见此处“”或此处“”

当接收到WCF消息时,如何处理Linq到SQL数据的更新?你能给我们看一些代码吗

例如:该字段/属性是否定义为数据协定上的只读属性??任何人试图更新该值都毫无意义


此外,由于您通过WCF发送实体,因此这些实体将“断开”连接到Linq to SQL,例如始终不在DataContext范围内的实体。这可能会导致Linq to SQL希望向数据库中添加一个新实体,该实体的时间戳列具有一个新值……

是的,它实际上是一种时间戳数据类型。我认为这是一个WCF问题,因为当不使用WCF时,更新工作正常。此外,L2S知道不要尝试在SQL Server中更新此列,因为它被标记为自动生成的值。那么,尝试从WCF服务更新L2S实体的代码中一定有错误-您能向我们展示该代码吗??