我是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