2015-09-21 111 views
0

我正在为学校制作电影院。我有一部电影作为一个领域模型,并且这些模型中的每一个都有另一个模型,流派,作为一个属性。现在,当我将它保存到数据库中时,它将电影和流派添加到它们的每个表格中,并且它匹配为电影det创建流派ID并将其与流派表匹配。从数据库中读取实体框架中的对象内部对象

问题是,当我再次从数据库中读取电影时,流派为空。它甚至没有流派ID。

如何将数据库中的流派分配给电影?

public void Add(Movie mov) 
    { 

     using (Context mCon = new Context()) 
     { 
      mCon.Movies.Add(mov); 
      mCon.SaveChanges(); 
     } 
    } 

这是我在哪里添加电影。

public List<Movie> GetAllMovies() 
    { 
     using (Context mCon = new Context()) 
     { 
      return mCon.Movies.ToList(); 
     } 
    } 

,这是我读它从DB回

编辑*

Movie movie = new Movie() { Id = 1, Name = "Movie1", Price = 200d, Genre = new Genre() { Id = 1, Name = "Genre1" } }; 

编辑** 我的上下文包含了风格和电影dbset。

我加我创造了我的门面电影:

facade.GetMovieRep().Add(movie); 
+0

如何你将'Genre'分配给'Movie'吗?请显示该代码?是否有涉及的表单,网页,手机或桌面? –

+1

嗨乔纳斯奥利森你必须做到这一点,检查这个帖子http://stackoverflow.com/questions/3356541/entity-framework-linq-query-include-multiple-children-entities它的一些正常您的模型结构上的麻烦,是因为你必须包括关系 –

+0

@GlennFerrie我在底部添加了作业,目前我只是试图在控制台应用程序中工作 –

回答

0

我找到了解决办法

我只是说.INCLUDE(“类型”)当我返回上下文列出

+0

如果你想使用延迟加载,你可以设置流派的属性为虚拟。这告诉EF将它们包括在结果中。 – DDiVita