当我们的表在我的数据库,有PK/FK关系(int),当他们建模的实体框架的设计师一切都好像是应该的。我可以写下代码和一切似乎都喜欢它的工作的现很好,但后来当我运行的代码,我得到一个错误,该项目。状态。StatusName说的对象,参考不设置为一个象的实例。我猜我的印象是,该框架已填充的相关实体当你填充的父母实体。

    Dim db As New MyDbModel.MyDbEntities()

    Dim project As MyDbModel.Project = (From p In db.Project Where p.ProjectID = 1).First

    Response.Write(project.ProjectName)        
    Response.Write(project.Status.StatusName)
有帮助吗?

解决方案

尝试使用包含(RelationshipName)

Dim db As New MyDbModel.MyDbEntities()    
Dim project As MyDbModel.Project = (From p In db.Project.Include("Status") Where p.ProjectID = 1).First    
Response.Write(project.ProjectName)            
Response.Write(project.Status.StatusName)

其他提示

实体的框架不载相关实体除非你告诉它。为了访问有关实体需要Load()它们明确或使用包括().这里有一个简短的示例。

http://blogs.msdn.com/bethmassi/archive/2008/12/10/master-details-with-entity-framework-explicit-load.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top