我知道,当使用每种具体类型的表继承时,所有派生类都共享相同的标识。我想要做的是为来宾和AccountOwner.提供一个独立的身份。
在谷歌上搜索了几个小时后,我找到了两个解决方案。一种是为派生类使用不同的种子(我知道如何实现它,但我不喜欢),第二种是使用不同的身份增量。
基类:
public abstract class User
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserID { get; set; }
}派生类:
public class Guest : User
{
//Other properties here
}派生类:
public class AccountOwner: User
{
//Other properties here
}如果我要使用不同的身份增量,Guest的主键将类似于: 1、3、5、6和 2、4、6、8。
现在的问题是,
如何实现不同的主键自动增量?
,我是不是漏掉了什么?你有更好的解决方案吗?
我不想改变我的数据库结构。
发布于 2015-12-09 19:51:00
您不能实现不同的自动增量.
我已经决定使用每个层次的表,而不是每个层次的表,即使我不想改变我的结构。
我现在有三个不同的表,一个是Account,我使用的是不同类型的Descriminator。因为我只有一个表,它们都共享相同的自动增量。
https://stackoverflow.com/questions/33977983
复制相似问题