首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ADO .NET实体数据的外键问题

使用ADO .NET实体数据的外键问题
EN

Stack Overflow用户
提问于 2010-11-05 07:20:13
回答 1查看 558关注 0票数 0

我正在开发一个带有MSSQL数据库的ASP.NET MVC2应用程序,使用VS2008和SQL Express2008 R2。我有一个名为Business的表和另一个名为Employee的表。Employee有一个BusinessID外键,因为所有员工都必须属于一个企业。

我正在使用ADO .NET实体数据模型来生成我的模型。从reading another post上看,我的实体框架版本似乎不会带来外键,而是创建一个导航属性。

我手动将一些数据插入到数据库中,创建了一个id为1的企业和一个business_id为1的employee。现在,当我尝试加载作为雇员列表的索引页时,由于与Employee对象关联的business对象为null,因此出现了null引用异常。

实体模型不是要为我填充这个属性吗?如果不是,如果由于外键没有被带过来而没有来自数据库的业务id,我如何在对象之间的前端创建关系?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-05 07:34:48

您必须显式加载导航属性:

代码语言:javascript
复制
entityContext.Businesses.Include("Employees");

或者,如果您已经加载了实体,则可以使用(对于导航集合):

代码语言:javascript
复制
if(!business.Employees.IsLoaded)
    business.Employees.Load();

或者,如果只有一个实例:

代码语言:javascript
复制
if(!employee.BusinessReference.IsLoaded)
    employee.BusinessReference.Load();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4102295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档