0

我有一个基表和从属表,以及其他表。由于外键关系,当基表的标识值映射到依赖表时,EF 4.0(使用 MS VS 2010 Ultimate)表现良好。我更期待的是,应该将相同的标识值映射/复制到跟踪键/值对的未关联/不相关表中的列。例如,如果基表的第一个记录标识生成为 1,我希望将此数字复制到该键/值表中。当我尝试时,它在实体框架中的 SaveChanges() 上下文中仅插入为 0。此特定列映射到基表的列的标识属性。它就像,

BaseTable baseTable = new BaseTable();
// Added properties of basetable values
KeyValueTable table = new KeyValueTable();
table.Key = baseTable.BaseId;
table.Value = name;
AddToKeyValueTable(table);
SaveChanges();

如果我查看 KeyValueTable,这个键被写为 0 而不是 baseTable 生成的值。我怀疑这个问题是这些表没有与关系相关联。我不应该这样做,因为钥匙也可以容纳其他桌子。

请在这部分帮助我。

提前致谢!

4

1 回答 1

1

您无法以这种方式value从所需的主键中获取 ,因为@@scope_identity尚未准备好get

尝试这样做

BaseTable baseTable = new BaseTable();
...
// Added properties of basetable values
SaveChanges();

KeyValueTable table = new KeyValueTable();
table.Key = baseTable.BaseId;
table.Value = name;
AddToKeyValueTable(table);
于 2013-02-01T13:35:01.543 回答