1

LinqPadには、次のクエリステートメントがあります...

var genre = "Anime & Animation";
var minRating = 3.0;
var topNum = 30;

var query = 
    (from g in Genres
    from t in g.Titles 
    where g.Name==genre
    && t.Instant.Available==true
    && t.AverageRating >= minRating
    orderby t.AverageRating descending 
    select new {t.Name, t.Rating, t.AverageRating, t.ShortSynopsis}).Take(topNum);

query.Dump(string.Format("Top {0} {1} Instant Watch Movies with a {2:0.0} minimum average rating sorted by average rating in descending order.",topNum,genre,minRating));

結果セットでジャンル文字列変数を返したい。

別の質問方法として、TSQLを使用して、「MyTitlesのジャンルとしてSELECT field1、field2、'Action&Adventure'」を実行します。では、Linqでそれをどのように行うのですか。

セス

4

1 に答える 1

3

を追加することで匿名タイプの追加メンバーを指定できるため、定数値をPropertyName = <value>持つプロパティを追加する場合はGenre、次のように記述できます。

new { t.Name, t.Rating, t.AverageRating, 
      t.ShortSynopsis, Genre = "Action & Adventure" }

genregenreの値は、クエリの変数またはプロパティとおそらく同じになるg.Nameため、(文字列リテラルの代わりに)このプロパティを使用できます。

new { t.Name, t.Rating, t.AverageRating, 
      t.ShortSynopsis, Genre = g.Name } // Or 'Genre = genre'

t.Name匿名型の構築にプロパティ名を使用するだけの場合(たとえば)、それは書き込みのショートカットにすぎないことに注意してくださいName = t.Name(コンパイラはプロパティ名を自動的にコピーします)。

于 2010-09-24T01:29:07.863 に答える