私がしなければならないことは、文字と数字で始まるすべての映画を number=20、A=10、B=12、......z=18 などとして数えることです。これまでに達成するために 2 つのクエリを試しました。私の望ましい結果:
初め:
var companyquery = (from movieInfo in db.MovieInformations
group movieInfo by movieInfo.MovieTitle.Substring(0, 1)
into movieInfogroup
select new MovieNumberModel
{
Character = movieInfogroup.Key,
Number = movieInfogroup.Count()
}).OrderBy(mapping => mapping.Character);
ただし、最初の文字のみでグループ化されています。そこで、アルファベットを格納する別のテーブルを作成し、次の linq クエリを作成しました。
var companyquery1 = (from movieInfo in db.MovieInformations
from Category in db.CharCategory
group movieInfo.MovieTitle by Category.Character
into movieInfogroup
select new MovieNumberModel
{
Character = movieInfogroup.Key,
Number = movieInfogroup.Count()
}).OrderBy(mapping => mapping.Character)
この linq クエリは、A から z のようなすべてのアルファベットを提供しますが、正しくカウントしません。数字で始まるすべての映画が 1 つのカテゴリに入り、文字で始まる映画がアルファベットに従ってグループ化されるように、解決策を見つけるのを手伝ってください。ありがとうございました!