簡體   English   中英

實體框架TPC復制的主鍵

[英]Entity Framework TPC duplicated primary keys

我知道當使用每個具體類型繼承的表時,所有派生類共享相同的標識。 我想做的是為GuestAccountOwner分別擁有一個身份

經過數小時的搜尋,我找到了兩種解決方案。 一種是對派生類使用不同的種子(我知道如何實現,但我不喜歡它),第二種是使用不同的標識增量。

基類:

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、6AccountOwner 2、4、6、8。

現在的問題是

如何實現不同的主鍵自動遞增?

我錯過了什么嗎? 您有更好的解決方案嗎?

我不想更改我的數據庫結構。

您不能實現不同的自動增量。

即使我不想更改我的結構,我也決定使用“每個層次的表”而不是“每個層次的表”。

現在不再是三個不同的表,而是一個“帳戶”,而我對不同類型使用了一個描述符。 因為我只有一個表,所以它們都共享相同的自動增量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM