繁体   English   中英

在 Linq to SQL 查询中划分

[英]Divide in a Linq to SQL query

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

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

谢谢

你需要一种叫做投影的东西,像这样:

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

编辑也许你想要标题来识别你的记录:)

item.Won / db.Awards.Count

计数是财产吗? 我觉得是这样的。

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

在这一点上,电影将是一个List<T> ,其中 T 是一个浮点数或 int 取决于底层的 SQL 类型(我无法从你的问题中辨别出来)。 如果您真的想将其投影为List<Movie> ,您需要按如下方式投影,但您的结果不太可能与您的 SQL 表匹配。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM