3

私がしなければならないことは、文字と数字で始まるすべての映画を 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 つのカテゴリに入り、文字で始まる映画がアルファベットに従ってグループ化されるように、解決策を見つけるのを手伝ってください。ありがとうございました!

4

1 に答える 1