Asp.net mvc MVC使用linq选择数据并传递到模型

Asp.net mvc MVC使用linq选择数据并传递到模型,asp.net-mvc,linq,Asp.net Mvc,Linq,我目前正在学习ASP.NETMVC和LINQ 我学习了一些教程,对MVC有了很好的了解。不过我遇到了一个问题。我试图从我的表中选择一个特定的行并将其发送到视图,但我得到一个错误 选择的代码为: Movie Mov = new Movie(); Mov = from movies in _db.Movies where movies.Title == "Ghostbusters"

我目前正在学习ASP.NETMVC和LINQ

我学习了一些教程,对MVC有了很好的了解。不过我遇到了一个问题。我试图从我的表中选择一个特定的行并将其发送到视图,但我得到一个错误

选择的代码为:

                Movie Mov = new Movie();

        Mov =  from movies in _db.Movies
                    where movies.Title == "Ghostbusters"
                     select movies;
错误是:

    Error   2   Cannot implicitly convert type 'System.Linq.IQueryable<MvcApplication2.Models.Movie>' to 'MvcApplication2.Models.Movie'. An explicit conversion exists (are you missing a cast?)    C:\Users\user\Desktop\MvcApplication2\MvcApplication2\Controllers\HomeController.cs 22  25  MvcApplication2
错误2无法将类型“System.Linq.IQueryable”隐式转换为“mvcapapplication2.Models.Movie”。存在显式转换(是否缺少转换?)C:\Users\user\Desktop\MVCAPApplication2\MVCAPApplication2\Controller\HomeController.cs 22 25 MVCAPApplication2

谢谢

您正在将查询而不是查询结果分配给
Mov

这样做:

Mov = (from ... select ...).First();

顺便说一句,因为您要用查询中的值填充Mov,所以不需要使用
=new Movie()

对其进行初始化,您正在为
Mov
分配一个查询,而不是一个查询结果

这样做:

Mov = (from ... select ...).First();

顺便说一句,因为您要用查询中的值填充Mov,所以不需要使用
=new Movie()

对其进行初始化,您正在为
Mov
分配一个查询,而不是一个查询结果

这样做:

Mov = (from ... select ...).First();

顺便说一句,因为您要用查询中的值填充Mov,所以不需要使用
=new Movie()

对其进行初始化,您正在为
Mov
分配一个查询,而不是一个查询结果

这样做:

Mov = (from ... select ...).First();

顺便说一句,因为您要用查询中的值填充Mov,所以不需要用
=new Movie()

初始化它。您的Linq查询是可查询的。这意味着它不是电影的对象,而是选择电影对象的sql查询。您需要将其转换为一个或多个对象,并将其传递给视图

所以试试这个

 Movie Mov = (from movies in _db.Movies
                where movies.Title == "Ghostbusters"
                 select movies).FirstOrDefault();

 return View(Mov);

您的Linq查询是可查询的。这意味着它不是电影的对象,而是选择电影对象的sql查询。您需要将其转换为一个或多个对象,并将其传递给视图

所以试试这个

 Movie Mov = (from movies in _db.Movies
                where movies.Title == "Ghostbusters"
                 select movies).FirstOrDefault();

 return View(Mov);

您的Linq查询是可查询的。这意味着它不是电影的对象,而是选择电影对象的sql查询。您需要将其转换为一个或多个对象,并将其传递给视图

所以试试这个

 Movie Mov = (from movies in _db.Movies
                where movies.Title == "Ghostbusters"
                 select movies).FirstOrDefault();

 return View(Mov);

您的Linq查询是可查询的。这意味着它不是电影的对象,而是选择电影对象的sql查询。您需要将其转换为一个或多个对象,并将其传递给视图

所以试试这个

 Movie Mov = (from movies in _db.Movies
                where movies.Title == "Ghostbusters"
                 select movies).FirstOrDefault();

 return View(Mov);

您不需要
ToList
那里,因为它会将整行带到内存中。您不需要
ToList
那里,因为它会将整行带到内存中。您不需要
ToList
那里,因为它会将整行带到内存中。您不需要
ToList
那里,因为它会将整行带到内存中回忆起来。