0

我有以下情形:實施第二部分很少區分的組合鍵的策略。實體框架代碼優先

Atom實體通常是獨一無二的,可以存儲在使用單個AtomID領域作爲其主密鑰的數據庫。 . In rare cases the Atom​​3210 AtomID but a discriminating SplitID`。

所以,基本上我需要一個AtomIDSplitID的組合密鑰,其中SplitID很少有區別。我不願意失去SQLServerCompact4數據庫提供的AutoID功能,但是當我爲Fluid API中的Atom實體定義組合鍵時會發生這種情況。

這個問題的最佳方法是什麼?

+0

「必須在數據庫表中創建第二條記錄」您的意思是Atom表?所以拆分具有相同的字段? –

+0

當表格最初被填充或添加時,「Atoms」是唯一的。然而,稍後的錯誤可能會導致需要將原子分成兩個不同的記錄,這對於其他領域當然會有不同的價值。但是至關重要的是,我可以看到記錄曾經是一個。 – Dabblernl

+0

除了自引用的FK,我沒有看到任何其他方式。 –

回答

1

您應該創建一個帶有外鍵的新表,AtomID和區分SpiltID以顯示兩者之間的關係。

+0

每次我想查詢Atoms表時,都不需要使用Join嗎?考慮到Atom很少會被拆分,這似乎效率低下。 – Dabblernl

+0

@Dabblernl:是的,你說得對,先生.. –

+0

我這樣實現它。我們會看到它對性能的影響。 – Dabblernl