Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用外键将数据插入表中_C#_Sql Server_Entity Framework_Foreign Keys - Fatal编程技术网

C# 使用外键将数据插入表中

C# 使用外键将数据插入表中,c#,sql-server,entity-framework,foreign-keys,C#,Sql Server,Entity Framework,Foreign Keys,我在ms sql server 2008 R2中有两个表,其中一个表与另一个表有外键关系 非常简单: 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].[

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

非常简单:

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])
我使用ManagementStudio编辑表在表中填写数据。确保
表B
中的每个前缀在
表a
中具有匹配的前缀

然后我将这些表导入VisualStudioC#以创建实体框架模型。 在我开始使用导航手柄从
tableB
中引用
tableA
中的数据之前,一切似乎都正常工作,但结果却是空手而归

i、 e.
tableB.tableA
s显示为空


在entity framework和/或ms sql server中更新外键关系是否需要执行一个步骤?

为了帮助其他人解决类似问题,我发布了我认为是解决方案的内容。我假设引用是在实体框架中自动加载的。为了得到更新,需要像这样显式加载引用

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

并将其封装到一个集中式助手方法中。