我有两张桌子:
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进行插入?
注意:在File
- 表达式中将f
对象引用设置为new
也无济于事。
答案 0 :(得分:0)
我自己找到了答案......不幸的是,SpecificFile.FileId被设置为EXPORT lm_bufferOut.
。异常消息没有多大帮助...