我有這個實體(無論是在數據庫和Entity Framework)的唯一編號/值:產生一列不具有UNIQUE約束
public class LanguageValue
{
public int ID { get; set; }
public long Key { get; set; } // bigint in database
public int LanguageID { get; set; } // FK with a Language table in database
public string Value { get; set; } // nvarchar(MAX) in database
public bool Active { get; set; } // bit in database
}
我已經看過這篇文章,但我的問題是有點不同:EF6: How to generate a unique number automatically based on entity Id
我的Key
列沒有唯一的約束,因爲可以有多個具有相同Key
值的行。例如:
ID Key LanguageID Value
---------------------------------------------------
1 1 1 Name in Language 1
2 1 2 Name in Language 2
我不能使用映射表來執行,而不是一個Key
FK因爲多個表使用同一表格(產品的名稱,類別名稱,文章的內容)。
現在無論何時我需要插入Product
或Category
記錄,我都需要插入相應的語言值。但是,我還沒有找到一種方法來生成其中獨一無二的密鑰,並且,如果兩次插入同時進行處理(例如,同時添加產品和類別),則需要更加獨特, 。
我正在考慮Guid
,這應該是我與RNG的安全賭注,還是有更好的方法來實現它?
ID是您的獨特識別碼。這與您想要做的有什麼不同? – JamieD77
對於每個插入操作符,我需要插入2行(或更多取決於多少種語言),使用相同的'Key',但除了這2行外,其他行都不會有'Key'值。所以它不是ID。 –
我想在一個事務中插入所有'Product'及其2個'LanguageValue'記錄,所以在EntityFramework中,我還沒有該ID。 –