C# 使用外键将数据插入表中
我在ms sql server 2008 R2中有两个表,其中一个表与另一个表有外键关系 非常简单: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].[
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();
并将其封装到一个集中式助手方法中。