将Linq划分为SQL查询

时间:2012-11-14 15:34:53

标签: asp.net sql linq linq-to-sql

如何在SQL中为此代码形成Linq to sql Query,我尝试了几件事。这是我的基本代码:

List<Movie> movies =
(from item in db.Movies select item).ToList<Movie>();
return movies;

这就是我想要的结果。

select (Won/Total) as 'rankPercentage'
from dbo.Filmranking
order by rankPercentage desc

由于

3 个答案:

答案 0 :(得分:0)

你需要一些叫做投影的东西,比如:

var result = db.Movies
             .Select(x => new { title=x.Title, rank = (x.Won/x.Total) })
             .OrderBy(x => x.rank);

编辑 也许您希望标题识别您的记录:)

答案 1 :(得分:0)

item.Won / db.Awards.Count

算一个属性?我想是的。

答案 2 :(得分:0)

var movies =
    (from items in db.Movies
    select new { RankPercentage = item.Won / item.Total })
    .ToList();

此时,电影将是List<T>,其中T是浮点数或整数,具体取决于基础SQL类型(我无法从您的问题中辨别出来)。如果你真的想把它作为List<Movie>进行投影,你需要按如下方式进行投影,但结果不太可能与你的SQL表相匹配。

List<OtherMovieType> movies = 
    (from items in db.Movies 
     select new OtherMovieType() {
         Name = item.Name,
         RankPercentage = item.Won / item.Total
         })
       .ToList();