请帮忙看下 Entity Framework 中 Navigation property 的问题

问题描述

有一个Person类和Student类,二者是继承关系。另外,Student和StudyCost是一对一关系。代码如下:[Table("Person")]publicclassPerson{[Key]publicintPersonId{get;set;}publicintAge{get;set;}publicstringName{get;set;}publicvirtualstringInfo{get;set;}publicstringDescription{get{returnInfo+Age.ToString();}set{}}}[Table("Student")]publicclassStudent:Person{publicstringCourse{get;set;}publicvirtualStudyCostStudyCost{get;set;}publicdoubleCost{get{returnStudyCost.Fee;}set{}}publicoverridestringInfo{get{returnCourse+Cost;}set{base.Info=value;}}}[Table("StudyCost")]publicclassStudyCost{[Key,ForeignKey("Student")]publicintPersonId{get;set;}publicdoubleFee{get;set;}publicvirtualStudentStudent{get;set;}}publicclassStudentDbContext:DbContext{publicStudentDbContext(stringconString):base(conString){}publicDbSet<Person>Persons{get;set;}publicDbSet<StudyCost>StudyCosts{get;set;}}

向数据库中写入对象没问题,并且表结构也符合预期:using(StudentDbContextcontext=newStudentDbContext(ConnectionString)){Personperson=newPerson{Age=16,Name="Razor",Info="Iamaordinaryguy"};Studentstudent=newStudent{Age=18,Name="Motor",Course="Math",StudyCost=newStudyCost{Fee=12000,}};context.Persons.Add(person);context.Persons.Add(student);context.SaveChanges();}

但是,单独从数据库中取回数据时:context.Configuration.LazyLoadingEnabled=true;foreach(varpersonInContextincontext.Persons){Debug.WriteLine("Age:{0,-10}tName:{1,-10}tDesp:{2}",personInContext.Age,personInContext.Name,personInContext.Description);}

总是在Student类的publicdoubleCost{get{returnStudyCost.Fee;}set{}}

属性中出现空引用异常。即使我迭代StudyCost集合并显示inclueStudent进来,仍然在上述位置出现同样异常。请问问题在哪里?

解决方案

本帖最后由 htcfan 于 2015-11-05 17:20:47 编辑

时间: 2024-09-29 06:50:02

请帮忙看下 Entity Framework 中 Navigation property 的问题的相关文章

spring mvc-求帮忙看下springmvc框架中注解事务失效问题

问题描述 求帮忙看下springmvc框架中注解事务失效问题 web.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&q

雅虎财经数据-麻烦各位大神给看下下面这段代码,运行不起来。请帮忙看下是什么原因(是在Python上运行的)

问题描述 麻烦各位大神给看下下面这段代码,运行不起来.请帮忙看下是什么原因(是在Python上运行的) from matplotlib.finance import quotes historical_yahoo from datetime import date import pandas as pd today=date.today() start=(today.year-1,today.month,today.day) quotes=quotes_historical_yahoo('AXP

activemq-ActiveMq 警告问题,请帮忙看下有没有问题

问题描述 ActiveMq 警告问题,请帮忙看下有没有问题 今天ActiveMq 报了一个警告,请指导的大侠帮忙给看下是不是有问题 Mq是不是长时间没有连接就会断开,然后在重新连接 解决方案 一般服务端为了性能和减少没必要的用户连接数,会有一个超时设置,当idle时间达到,就会主动关闭u 这个连接.客户端这个时候就需要进行重连机制. 解决方案二: 你这是在client端出现的异常吗?应该不是因为长时间没有连接的关系,如果是长时间没有数据传输的话会报Timeout错误,这上面的错误提示是EOFEx

lua匿名函数问题,和我预期的不太一样,请帮忙看下,谢谢

问题描述 lua匿名函数问题,和我预期的不太一样,请帮忙看下,谢谢 print(function() return 1 end) 我以为会打印1,但是实际打出funciton??? 求解惑,为什么是这样,怎么修改使其打印成1??? 3q 解决方案 print((function() return 1 end)())

mfc-大神们,新年快乐!!!我用MFC编写的串口助手,创建多线程,烦请帮忙看下哪里有问题呢,为什么不能显示

问题描述 大神们,新年快乐!!!我用MFC编写的串口助手,创建多线程,烦请帮忙看下哪里有问题呢,为什么不能显示 数据丢包是因为编辑框显示荒废时间,所以我把编辑框显示放到线程里面,可以不能与接收数据同步正确的显示,还会出现停止运行的错误,狂帮帮忙,看下,呜呜!!!! 解决方案 内存指针的问题,仔细调试下.

各位请帮忙看下过滤器的问题

问题描述 实在是不好意思  跑这上面来问这种问题只是我搞了好久在网上也找了好久没找到解决的方法还是得来啊这是我的过滤器的代码package com.yourcompany.tools;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import ja

http://211.138.86.20:8080 这个网站 为什么一会上去一会上不去 请帮忙看下

问题描述 请高手帮忙解决以下这个网站http://211.138.86.20:8080谢谢 解决方案 解决方案二:没兴趣看,连个域名都没有解决方案三:上不去打不开解决方案四:你tomcat开服务了没有假设tomcat放在D:tomcatC:>D:D:>cdD:tomcatbinD:tomcatbin>service.batinstall然后运行services.msc,打开tomcat服务类型为自动,并启动服务

空指针异常 ,大神请帮忙看下

问题描述 java.lang.NullPointerExceptionatcom.ids.emr.client.technician.encounter.exam.gonioscopy.GonioscopyKeypadPresenter.<init>(GonioscopyKeypadPresenter.java:24)atpublicGonioscopyKeypadPresenter(Displayview){this.view=view;getEventBus().addHandler(Go

IIS 5.1 WIN XP 配置后出现如下问题 请帮忙看下 在线等

问题描述 无法显示网页试图访问的网页出现问题,无法显示.--------------------------------------------------------------------------------请尝试执行下列操作:单击刷新按钮,或稍后重试.打开127.0.0.1主页,然后查找与所需信息相关的链接.HTTP错误500.100-内部服务器错误-ASP错误Internet信息服务---------------------------------------------------