我正在开发一个带有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,我如何在对象之间的前端创建关系?
发布于 2010-11-05 07:34:48
您必须显式加载导航属性:
entityContext.Businesses.Include("Employees");或者,如果您已经加载了实体,则可以使用(对于导航集合):
if(!business.Employees.IsLoaded)
business.Employees.Load();或者,如果只有一个实例:
if(!employee.BusinessReference.IsLoaded)
employee.BusinessReference.Load();https://stackoverflow.com/questions/4102295
复制相似问题