C# 如何在.NETMVC中将数据库中不同表中的数据传递给视图
我有两张桌子:电影和时间表 电影公司C# 如何在.NETMVC中将数据库中不同表中的数据传递给视图,c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,我有两张桌子:电影和时间表 电影公司 public class Movie { public int MovieID { get; set; } public string MovieName { get; set; } public virtual ICollection<Schedule> Schedules { get; set; } } 在日程表/索引中,我想显示日程表中包含MovieID的电影列表 ScheduleControler
public class Movie
{
public int MovieID { get; set; }
public string MovieName { get; set; }
public virtual ICollection<Schedule> Schedules { get; set; }
}
在日程表/索引中,我想显示日程表中包含MovieID的电影列表
ScheduleControler.cs
public ActionResult Index()
{
CinemaContext db = new CinemaContext();
var moviename = (from m in db.Movies
join s in db.Schedules on m.MovieID equals s.MovieID
orderby m.MovieName descending
select new {
MovieName=m.MovieName
}).ToList();
return View(moviename);
}
然而,当我试着像下面这样做时,它不起作用
@using Booking_Ticket_Management_System.Model;
@model IEnumerable<Schedule>
@{
ViewBag.Title = "Choose movies";
}
<h2>Index</h2>
<div>
<ul>
@foreach(Schedule moviename in @Model)
{
<li>
@moviename
</li>
}
</ul>
</div>
@使用订票管理系统.Model;
@模型IEnumerable
@{
ViewBag.Title=“选择电影”;
}
指数
@foreach(在@Model中安排moviename)
{
-
@电影名称
}
请帮忙 将具有属性
MovieName
的匿名对象投影到视图,而不是IEnumerable
。您需要在视图中引用该属性
@foreach(moviename in @Model)
{
<li>
@moviename.MovieName
</li>
}
@foreach(moviename在@Model中)
{
@moviename.moviename
}
将带有属性MovieName
的匿名对象投影到视图,而不是IEnumerable
。您需要在视图中引用该属性
@foreach(moviename in @Model)
{
<li>
@moviename.MovieName
</li>
}
@foreach(moviename在@Model中)
{
@moviename.moviename
}
将带有属性MovieName
的匿名对象投影到视图,而不是IEnumerable
。您需要在视图中引用该属性
@foreach(moviename in @Model)
{
<li>
@moviename.MovieName
</li>
}
@foreach(moviename在@Model中)
{
@moviename.moviename
}
将带有属性MovieName
的匿名对象投影到视图,而不是IEnumerable
。您需要在视图中引用该属性
@foreach(moviename in @Model)
{
<li>
@moviename.MovieName
</li>
}
@foreach(moviename在@Model中)
{
@moviename.moviename
}
moviename
是匿名对象的列表(new{moviename=m.moviename}
)。。。但是视图需要一个IEnumerable
更改查询以选择包含电影的日程安排
using System.Data.Entity;
// ....
var schedules = db.Schedules.Include(s => s.Movie)
.OrderByDescending(s => s.Movie.MovieName)
.ToList();
return View(schedules);
看法
看法
@使用订票管理系统.Model;
@模型IEnumerable
@{
ViewBag.Title=“选择电影”;
}
指数
@foreach(@Model中的字符串moviename)
{
-
@电影名称
}
moviename
是匿名对象的列表(new{moviename=m.moviename}
)。。。但是视图需要一个IEnumerable
更改查询以选择包含电影的日程安排
using System.Data.Entity;
// ....
var schedules = db.Schedules.Include(s => s.Movie)
.OrderByDescending(s => s.Movie.MovieName)
.ToList();
return View(schedules);
看法
看法
@使用订票管理系统.Model;
@模型IEnumerable
@{
ViewBag.Title=“选择电影”;
}
指数
@foreach(@Model中的字符串moviename)
{
-
@电影名称
}
moviename
是匿名对象的列表(new{moviename=m.moviename}
)。。。但是视图需要一个IEnumerable
更改查询以选择包含电影的日程安排
using System.Data.Entity;
// ....
var schedules = db.Schedules.Include(s => s.Movie)
.OrderByDescending(s => s.Movie.MovieName)
.ToList();
return View(schedules);
看法
看法
@使用订票管理系统.Model;
@模型IEnumerable
@{
ViewBag.Title=“选择电影”;
}
指数
@foreach(@Model中的字符串moviename)
{
-
@电影名称
}
moviename
是匿名对象的列表(new{moviename=m.moviename}
)。。。但是视图需要一个IEnumerable
更改查询以选择包含电影的日程安排
using System.Data.Entity;
// ....
var schedules = db.Schedules.Include(s => s.Movie)
.OrderByDescending(s => s.Movie.MovieName)
.ToList();
return View(schedules);
看法
看法
@使用订票管理系统.Model;
@模型IEnumerable
@{
ViewBag.Title=“选择电影”;
}
指数
@foreach(@Model中的字符串moviename)
{
-
@电影名称
}
但是,MovieName不是Schedule的属性,而是Movie。因此,我不能像@moviename.movienamese codeselect new{moviename=m.moviename}
那样创建一个新的匿名对象,而不是一个Schedule
。然而,moviename不是Schedule的属性,而是Movie。因此,我不能像@moviename.movienamese codeselect new{moviename=m.moviename}
那样创建一个新的匿名对象,而不是一个Schedule
。然而,moviename不是Schedule的属性,而是Movie。因此,我不能像@moviename.movienamese codeselect new{moviename=m.moviename}
那样创建一个新的匿名对象,而不是一个Schedule
。然而,moviename不是Schedule的属性,而是Movie。因此,我不能像@moviename.movienamite codeselect new{moviename=m.moviename}
那样创建一个新的匿名对象,而不是一个Schedule
。当我尝试您的第一个建议时,出现了一个错误:“无法将lambda表达式转换为'string'类型,因为它不是委托类型”在s=>s.movie行,确保使用System.Data.Entity包含代码>向上。。。我将更新我的答案以反映这一点。您也可以使用.Include(“Movie”)
来代替。当我尝试您的第一个建议时,在s=>s.Movie行出现错误:“无法将lambda表达式转换为类型'string',因为它不是委托类型”。请确保使用System.Data.Entity包含代码>向上。。。我将更新我的答案以反映这一点。您也可以使用.Include(“Movie”)
来代替。当我尝试您的第一个建议时,在s=>s.Movie行出现错误:“无法将lambda表达式转换为类型'string',因为它不是委托类型”。请确保使用System.Data.Entity包含代码>向上。。。我将更新我的答案以反映这一点。您也可以使用.Include(“Movie”)
来代替。当我尝试您的第一个建议时,在s=>s.Movie行出现错误:“无法将lambda表达式转换为类型'string',因为它不是委托类型”。请确保使用System.Data.Entity包含代码>向上。。。我会帮你的