我有兩個表格Plants and Information。每個工廠都有很多信息,但每個工廠都有一個MainInformation。所以兩者之間有一對多的關係和一對一的關係。信息表有一個PlantID,Plants表有一個MainInformationID。我希望兩個表中的兩個字段都不是空值。但是現在你不能將兩個記錄中的任何一個插入到它們的表中,因爲每個記錄都要求它們的字段不爲空,這意味着它們需要先創建另一個記錄才能創建它們自己。也許這不是一個好的數據庫設計,應該改變什麼? (我是新的數據庫和實體框架)數據庫雙連接關係插入問題
我試圖插入到數據庫本身手動,但我不能這樣做。我也用EntityFramework試過這段代碼。
using (var context = new MyEntities())
{
var p = new Plant()
{
LatinName = "latinNameTest",
LocalName = "localNameTest",
CycleTime = 500
};
var i = new Information()
{
ShortDescription = "ShortDesc",
LongDescription = "LongDesc"
};
p.MainInformation = i;
i.Plant = p;
context.AddToPlants(p);
context.AddToInformation(i);
context.SaveChanges();
}
我要去第一個選項,我也考慮過第三個選項,但我們沒有跟它一起去。我對你提到的第二個選項感興趣。可以多解釋一下如何做到這一點? – synepis 2010-03-08 14:03:46
ALTER TABLE MyTable NOCHECK CONSTRAINT FK ... http://msdn.microsoft.com/en-us/library/ms190273(SQL.90).aspx – gbn 2010-03-08 16:57:03
此外,我在這裏回答:http://stackoverflow.com/questions/737115 /關閉約束-暫時/ 737167#737167 – gbn 2010-03-08 17:50:00