3

如何在 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

谢谢

4

3 回答 3

0
item.Won / db.Awards.Count

计数是属性吗?我觉得是这样的。

于 2012-11-14T15:52:59.397 回答
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();
于 2012-11-14T16:04:31.827 回答
0

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

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

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

于 2012-11-14T15:48:51.833 回答