关于 MVC 中 EF 外键处理的一个小坑

使用 CodeFirst 进行建模。例如,已有以下实体,在MVC中是启用延迟加载的。

    public class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    public class Post
    {
        public int Id { get; set; }
        public User Author { get; set; }
    }

如果直接使用下面的语法进行查询的话,如果对应的`User`没有被EF引擎加载,那么导航属性`Post.Author`会是`null`。

context.Posts.ToArray();

解决方法是,显式说明需要在返回的`Post`中加载`Author`导航属性的内容。

using System.Data.Entity;
//...
context.Posts.Include(p => p.Author).ToArray();

请参阅

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

ERROR: si-captcha.php plugin: GD image support not detected in PHP!

Contact your web host and ask them to enable GD image support for PHP.

ERROR: si-captcha.php plugin: imagepng function not detected in PHP!

Contact your web host and ask them to enable imagepng for PHP.

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Content is available under CC BY-SA 3.0 unless otherwise noted.