首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架TPC重复主键

实体框架TPC重复主键
EN

Stack Overflow用户
提问于 2015-11-29 00:19:40
回答 1查看 141关注 0票数 0

我知道,当使用每种具体类型的表继承时,所有派生类都共享相同的标识。我想要做的是为来宾AccountOwner.提供一个独立的身份。

在谷歌上搜索了几个小时后,我找到了两个解决方案。一种是为派生类使用不同的种子(我知道如何实现它,但我不喜欢),第二种是使用不同的身份增量。

基类:

代码语言:javascript
复制
public abstract class User
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int UserID { get; set; }
}

派生类:

代码语言:javascript
复制
public class Guest : User
{
    //Other properties here
}

派生类:

代码语言:javascript
复制
public class AccountOwner: User
{
    //Other properties here
}

如果我要使用不同的身份增量,Guest的主键将类似于: 1、3、5、6和 2、4、6、8。

现在的问题是,

如何实现不同的主键自动增量?

,我是不是漏掉了什么?你有更好的解决方案吗?

我不想改变我的数据库结构。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-09 19:51:00

您不能实现不同的自动增量.

我已经决定使用每个层次的表,而不是每个层次的表,即使我不想改变我的结构。

我现在有三个不同的表,一个是Account,我使用的是不同类型的Descriminator。因为我只有一个表,它们都共享相同的自动增量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33977983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档