我是MVC和实体框架的新手。 我已经创建了一个基于实体的模型。视图正在使用新模型。 随着查询我填写模型:LinQ中加入/关系的匿名对象
public IEnumerable<TimeTableInsertModel> getTimeTableDetails(int? id)
{
using (var db = new EFDbContext())
{
return (from s in db.TimeTables
where s.TimeTableId == id
select new
{
TimeTableId = s.TimeTableId,
MovieId = s.MovieId,
RoomId = s.RoomId,
SeatsAvaible = s.SeatsAvaible,
StartTime = s.StartTime,
EndTime = s.EndTime,
Movie = s.Movie,
Reservations = s.Reservations,
Room = s.Room,
TicketQuantity = 0,
}).ToList().Select(x => new TimeTableInsertModel
{
TimeTableId = x.TimeTableId,
MovieId = x.MovieId,
RoomId = x.RoomId,
SeatsAvaible = x.SeatsAvaible,
StartTime = x.StartTime,
EndTime = x.EndTime,
Movie = x.Movie,
Reservations = x.Reservations,
Room = x.Room,
});
}
}
这工作正常。但是: 表'Movie'与'Genre'和'Language'有2个关系。这两张表格没有填写在模型中。我不知道该怎么做。 我尝试做的是这样的:
Language = s.Movie.Language,
Reservations = s.Reservations,
Genre = x.Movie.Genre,
Language = x.Movie.Language,
但Visual Studio中说,该模型不包含定义“类型”和“语言”。
任何人都可以帮忙吗?原始模型“TimeTableModel”具有以下内容:
public partial class TimeTable
{
public TimeTable()
{
Reservations = new HashSet<Reservation>();
}
public int TimeTableId { get; set; }
public int MovieId { get; set; }
public int RoomId { get; set; }
public int SeatsAvaible { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public virtual Movie Movie { get; set; }
public virtual ICollection<Reservation> Reservations { get; set; }
public virtual Room Room { get; set; }
}
而且TimeTableInsertModel(女巫使用的视图):
public class TimeTableInsertModel
{
[Key]
public int TimeTableId { get; set; }
public int MovieId { get; set; }
public int RoomId { get; set; }
public int SeatsAvaible { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public virtual Movie Movie { get; set; }
public virtual ICollection<Reservation> Reservations { get; set; }
public virtual Room Room { get; set; }
public int TicketQuantity { get; set; }
}
“但是,Visual Studio中说,该模型不包含定义‘类型’和‘语言’。”是的,该模型没有这种属性。为什么这个错误让你感到惊讶,你对此不了解的是什么? – usr
原始模型也没有定义,但是当我使用该模型时,它们将正确填充。 – NVO
这是不正确的。你一定在混淆课程。你明白为什么编译器会发出这个错误吗? – usr