我正在使用 SQL Server 时间戳列(称为 VersionNumber)来支持 Linq-to-SQL 的乐观并发。当只涉及一张桌子时,这很有效。但是,我有如下所示的域实体:
人员:FirstName、LastName、Age、VersionNumber
医生:所有人员属性 + 职业
运动员:所有人员属性 + 运动、YearsPro
音乐家:所有人员属性 + 乐器
我的数据库有一个 Person 表,然后是每种 Person 类型的其他表。具体表(如运动员)只有运动员所需的列。具体表与 Person 表具有 1-1 映射关系。在这种情况下如何使用 VersionNumber?具体表可以/应该有自己的 VersionNumber 列吗?只有 Person 表应该有 VersionNumber 列吗?在这种情况下我应该如何保存数据?
在这种特殊情况下,我想拯救运动员。现在,只有 Person 基类有 VersionNumber。我只是不确定如何保存它。
注意:因为 Person 在 C# 域实体中已经有一个 VersionNumber 属性,所以我不能将相同的属性名称添加到具体类中。