首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asp.net 5 mvc 6模型问题

asp.net 5 mvc 6模型问题
EN

Stack Overflow用户
提问于 2015-03-11 19:36:18
回答 1查看 126关注 0票数 3

我想列举一下新闻部分的一些数据。我有两张桌子。新闻与NewsCategory

这是我的模型类

代码语言:javascript
复制
public class News
{
    public int NewsId { get; set; }
    public string Name { get; set; }
    public int NewsCategoryId { get; set; }
    public virtual NewsCategory NewsCategory { get; set; }
}
public class NewsCategory
{
    public int NewsCategoryId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }

    public virtual List<News> News { get; set; }
}

public class NewsDbContext : DbContext
{

    protected override void OnConfiguring(DbContextOptions options)
    {
        options.UseSqlServer(Startup.Configuration.Get("Data:DefaultConnection:ConnectionString"));
    }

    public DbSet<News> News { get; set; }
    public DbSet<NewsCategory> NewsCategory { get; set; }
}

这也在起作用,当我在我的控制器中完成数据时,除了一件事。当我整理我的新闻时,我没有提到我的分类。

我的控制器代码:

代码语言:javascript
复制
var news = _db.News.ToList();

这一产出如下:

代码语言:javascript
复制
    [
  {
    "NewsId": 1,
    "Name": "ghdfgd",
    "NewsCategoryId": 1,
    "NewsCategory": null
  },
  {
    "NewsId": 2,
    "Name": "gdfgdf",
    "NewsCategoryId": 1,
    "NewsCategory": null
  }
]

如您所见,NewsCategory是空的。虽然情况并非如此:)

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-11 19:47:17

这是因为您正在延迟加载导航属性。查看this文章。

就这么做吧:

代码语言:javascript
复制
var news = _db.News.Include(n => n.NewsCategory).ToList();
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28995782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档