[英]Entity Framework TPC duplicated primary keys
我知道當使用每個具體類型繼承的表時,所有派生類共享相同的標識。 我想做的是為Guest和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和AccountOwner 2、4、6、8。
現在的問題是
如何實現不同的主鍵自動遞增?
我錯過了什么嗎? 您有更好的解決方案嗎?
我不想更改我的數據庫結構。
您不能實現不同的自動增量。
即使我不想更改我的結構,我也決定使用“每個層次的表”而不是“每個層次的表”。
現在不再是三個不同的表,而是一個“帳戶”,而我對不同類型使用了一個描述符。 因為我只有一個表,所以它們都共享相同的自動增量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.