0
我有兩個表:插入用的PrimaryKey = ForeignKey的
File
|- Id (Primary Key)
|- Name
|- ...
SpecificFile
|- FileId (Primary Key & Foreign Key to File.Id)
|- SpecificProperty1
|- ...
我有以下LINQ2SQL代碼(LINQPad):
var sfiles = from f in File
where f.Name LIKE 'Specific%'
select new SpecificFile { FileId = f.Id, SpecificProperty1 = "Foo" };
SpecificFiles.InsertAllOnSubmit(sfiles);
然而,插入失敗與:
SqlException:INSERT語句與FOREIGN KEY約束「FK_SpecificFile_File」衝突。數據庫「MyDatabase」中出現衝突,表「dbo.File」,列'Id'。 該聲明已被終止。
原因很清楚,如果我調試,並期待在LINQ2SQL生成的INSERT語句:
INSERT INTO [SpecificFile]([SpecificProperty1])
VALUES (@p0)
如何通知LINQ2SQL,它有用於插入一個特定的ID?
注意:在new
中設置File
對象引用爲f
-表達式也無濟於事。