Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用实体框架,LINQ表达式为数据库中填充的列返回空值_C#_Asp.net Mvc_Asp.net Mvc 3_Entity Framework_Ef Code First - Fatal编程技术网

C# 使用实体框架,LINQ表达式为数据库中填充的列返回空值

C# 使用实体框架,LINQ表达式为数据库中填充的列返回空值,c#,asp.net-mvc,asp.net-mvc-3,entity-framework,ef-code-first,C#,Asp.net Mvc,Asp.net Mvc 3,Entity Framework,Ef Code First,我正在尝试使用Entity Framework的代码优先方法构建一个ASP.NET MVC 4 web应用程序,它类似于一个非常基本的电子邮件系统。为了演示我所遇到的问题,考虑下面的C类。 用户表中有两个用户,其ID如上所列 如果我运行以下LINQ,它将显示该消息的From和To都为null,但所有其他字段都已正确填充: dbContext.Messages.Single(o=>o.Id==1); 我做错了什么会导致这两个字段为空?这可能是我的课程组织中的一个缺陷吗 问题是From和To

我正在尝试使用Entity Framework的代码优先方法构建一个ASP.NET MVC 4 web应用程序,它类似于一个非常基本的电子邮件系统。为了演示我所遇到的问题,考虑下面的C类。

用户表中有两个用户,其ID如上所列

如果我运行以下LINQ,它将显示该消息的From和To都为null,但所有其他字段都已正确填充:

dbContext.Messages.Single(o=>o.Id==1);

我做错了什么会导致这两个字段为空?这可能是我的课程组织中的一个缺陷吗

问题是From和To属于复杂类型,您应该将它们声明为
virtual
,以便正确加载它们。

dtryon是正确的。您缺少虚拟关键字。
Id  Subject Content CreatedAt   IsRead  IsTrash IsSpam  From_Id To_Id
1   Howdy   Lorem   2012-02-10  0       0       0       2       1
dbContext.Messages.Single(o=>o.Id==1);