使用外键将数据插入表中

时间:2012-10-26 16:22:56

标签: c# sql-server entity-framework foreign-keys

我在ms sql server 2008 R2中有2个表,其中一个表与另一个表有外键关系

非常简单:

tableA
prefix nchar(10)
value  nchar(50)

tableB
prefix nchar(10)
value  nchar(50)

ALTER TABLE [dbo].[tableB]  
WITH CHECK ADD  CONSTRAINT [FK_TableA_TableB] FOREIGN KEY([prefix])
REFERENCES [dbo].[TableA] ([prefix])

我使用管理工作室编辑表填写表格中的数据。确保tableB中的每个前缀在tableA中都有匹配的前缀。

然后我将表导入Visual Studio C#以创建实体框架模型。 一切似乎工作正常,直到我开始使用导航手柄从tableA tableB引用数据,它是空手而归。

即。 tableB.tableA出现为空。

是否需要在实体框架和/或ms sql server中更新外键关系?

1 个答案:

答案 0 :(得分:2)

为了帮助处理类似问题的其他人,我发布了我认为的解决方案。事实证明我假设引用是在Entity Framework中自动加载的。为了获得更新,需要像这样明确地加载引用

if (!tableB.tableAs.IsLoaded)
    tableB.tableAs.Load();