C# 使用实体框架,LINQ表达式为数据库中填充的列返回空值
我正在尝试使用Entity Framework的代码优先方法构建一个ASP.NET MVC 4 web应用程序,它类似于一个非常基本的电子邮件系统。为了演示我所遇到的问题,考虑下面的C类。 用户表中有两个用户,其ID如上所列 如果我运行以下LINQ,它将显示该消息的From和To都为null,但所有其他字段都已正确填充: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
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);