使用linq创建属于另一个类的对象列表

时间:2014-04-07 22:08:09

标签: c# linq

我有一个Films类,它有一个筛选列表的属性。我正在使用两个列表框,一个用于电影,一个用于放映。我正试图从数据库中读取电影和放映,关系是FilmID是放映中的外键。我想知道是否有可能查询数据库,所以我创建了几个Films对象,其中的屏幕被添加到电影类的放映列表中。因此,我所拥有的FilmID为3的放映将全部放入电影类中ID为3的放映列表中

我试过这个,但我不确定下一步该去哪儿。任何帮助将不胜感激

var query = from f in db.Films
            join s in db.Showing__s
            on f.FilmID equals s.FilmID
            select new
                   {
                       fID = f.FilmID
                        FilmName = f.FilmName,
                        FilmDetails = f.FilmDetails,
                        ReleaseDate = f.Release_Date,
                        Rating = f.AgeRating,
                        ShowDate = s.ShowDate,
                        FilmID = s.FilmID
                    };

1 个答案:

答案 0 :(得分:2)

如果您的关系设置正确,您应该只使用导航属性。

但如果你必须以不同的方式做,你可以尝试这样的事情:

from f in db.Films
select new
{
    film = f,
    screenings = from s in db.Screenings 
                 where s.FilmId == f.FilmId
                 select s
};