【发布时间】:2016-04-13 18:45:10
【问题描述】:
我目前正在为一个学校项目开发电影院预订系统,但遇到了问题。
我有一个电影模型,其中包含一个放映模型列表(观看电影的日期和时间)。我需要获取在特定日期显示的所有电影对象,其中包含仅包含日期等于特定日期的显示对象的列表。我尝试了各种方法在实体中执行此操作,但似乎无法使其正常工作。
这是电影类:
[DataContract]
public class Movie
{
[Key, Required, DataMember]
public Guid Id { get; set; }
[Required, DataMember]
public string Name { get; set; }
[Required, DataMember]
public string Info { get; set; }
[Required, DataMember]
public DateTime Premiere { get; set; }
[Required, DataMember]
public MovieType Type { get; set; }
[DataMember]
public ICollection<Show> Shows { get; set; }
[DataMember]
public string IMDBID { get; set; }
}
public enum MovieType
{
Movie2D = 0,
Movie3D = 1,
KidsMovie = 2
}
这里是 Show 类:
[DataContract]
public class Show
{
[Key, Required, DataMember]
public Guid Id { get; set; }
[Required, DataMember]
public Guid MovieId { get; set; }
[Required, DataMember]
public Guid ScreenId { get; set; }
[Required, DataMember]
public DateTime DateTime { get; set; }
[Required, DataMember]
public ShowType Type { get; set; }
[DataMember]
public Screen Screen { get; set; }
[DataMember]
public Movie Movie { get; set; }
}
public enum ShowType
{
Standard = 0,
Premiere = 1,
}
这里是 GetMovies(DateTime 日期) 方法:
public List<Movie> GetMovies(DateTime date)
{
using (EntityContext db = new EntityContext())
{
List<Movie> movieList = db.Movies
.Include("Show")
.Where(x => x.Shows.Where(x => x.DateTime.Date == date.Date)).ToList();
return movieList;
}
}
我知道这个功能不起作用,但希望它能显示我正在尝试做的事情。
【问题讨论】:
标签: c# asp.net asp.net-mvc entity-framework