插入主键=外键



我有两个表:

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"冲突。冲突发生在数据库"我的数据库",表"dbo。文件",列"Id"。 该语句已终止。

如果我调试并查看 Linq2Sql 生成的 INSERT 语句,原因很明显:

INSERT INTO [SpecificFile]([SpecificProperty1])
VALUES (@p0)

如何通知 Linq2Sql 它必须使用特定的 ID 进行插入?

注意:在new -expression 中将File对象引用设置为 f 也无济于事。

自己找到了答案...不幸的是,SpecificFile.FileId 被设置为 IDENTITY(1,1) 。异常消息没有多大帮助...

相关内容

  • 没有找到相关文章

最新更新