1

我担心如果我包含我的代码,这篇文章会变得太长太复杂,所以我会尝试解释我的问题。但是,如果您希望看到一些说明此问题的代码,我很乐意在之后添加它。

我有一个项目,MVC4 项目(Website.Web),它首先使用实体​​框架代码。我的实体类在一个单独的项目中:Website.Domain

我有一个 NewsPost 课程:

public virtual int Id { get; set; }
public virtual string Subject { get; set; }
public virtual string Content { get; set; }
public virtual string ImageName { get; set; }
public virtual DateTime CreateTime { get; set; }
public virtual int CreatedById { get; set; }
public virtual ICollection<Comment> Comments { get; set; }

我的评论类看起来像这样:

public virtual int Id { get; set; }
public virtual int CreatedById { get; set; }
public virtual DateTime CreatedTime { get; set; }
public virtual string Content { get; set; }

现在在我的 MVC 项目中,我设置了带有一些存储库类的实体框架,并 ninject 将所有内容与我的控制器分开。当我在我的新闻帖子上执行“GetAll()”时。NewsPost.Comments 将填充与此新闻帖子相关的评论。这一切都完美无缺。

现在我有了想使用webapi的想法,所以我建立了一个新的MVC基础项目。我删除了视图文件夹,并删除了模型文件夹。然后我在这里设置所有存储库以及我的实体框架 dbcontext 类。并在项目上启用了迁移,以允许我首先以与 Website.Web 项目相同的方式使用实体框架代码。我还引用了与 Web 项目相同的域类。

现在问题来了。我尝试在新闻帖子上执行 GetAll(),但是当我检查 GetAll() 返回的列表时,我发现虽然它获取了数据库中的所有新闻,但 COMMENTS 为空。我很确定我的 Website.API 设置方式与我的 Website.Website.Web 相同 - 那么我错过了什么?

我希望我已经解释得足够好。同样,如果您需要任何额外的代码或者我需要澄清一些观点,我会很乐意这样做,我只是不想让问题变得比现在的代码更复杂。

4

0 回答 0