我们将 LINQ to SQL 和 WCF 用于新的中间层,并且我们使用数据传输对象通过网络传递而不是使用实际的 LINQ 类。我将使用此处概述的一种或另一种方法 -基于时间戳或行版本的 Linq Table Attach() - 以确保更新正常工作并正确处理并发。
为了节省您的阅读时间,基本上您可以在表中使用时间戳/行版本列,或者使用具有默认值和更新触发器的日期时间列 - 无论哪种方式,它都会为您提供一个每次获取新生成值的列发生插入或更新,并且该列是 LINQ 用于检查并发性的列。
我的问题是——哪个更好?我们的许多表中已经有“UpdatedWhen”的日期时间列(但不是全部 - 不要问),但会添加默认值和触发器,或者我们可以只添加 rowversion(我们必须使用现在的时间戳语法,因为我们仍然支持 SQL2005 一段时间)到每个表 - 无论哪种方式我们都在修改数据库以使其工作,所以我想知道是否存在性能差异或任何这两种选择之间需要注意的其他重要区别。我试过在网上和这里搜索 SO,但到目前为止还没有运气。谢谢。