2017-11-27 3 views
-1

こんにちは私はテーブルアーティストがあり、そのテーブルにはBandIDという値があり、アーティストテーブルからバンドテーブルを2回取得するBandIDを取得したいと思います。このための正しいLINQクエリは何ですか?データベーステーブルに2回表示されるアイテムを取得するLINQクエリ?

public class Artiest 
    { 
     public int ArtiestID { get; set; } 
     public string Naam { get; set; } 

     public int InstrumentID { get; set; } 
     public Instrument Instrument { get; set; } 

     public int PopgroepID { get; set; } 
     public Popgroep Popgroep { get; set; } 

    } 

これをLINQに変換しようとしましたが、翻訳できません。

var q = 
     from g in arr.GroupBy(x => x) 
     where g.Count() == 1 
     select g.First(); 
+0

何を試しましたか?具体的には機能しないのは何ですか? – maccettura

+0

私はそれを追加しました –

+0

あなたが掲示したコードに 'BandID'は存在しません。 _正確に何をしたいですか? – maccettura

答えて

0

質問を指定する必要があります。あなたは「重複価値」とは何ですか?どの値によって決定されますか?これらの重複アーティストのうち、どちらがPopGroepIdですか? 一つの可能​​な解決策は、これは、名前が正確にデータベーステーブル内の2つのエントリですの最初のArtiestのPopGroepIdを取得します

context.Artiests 
    .GroupBy(x=>x.Naam) 
    .Where(x=>x.Count()==2) 
    .Select(x=>x.FirstOrDefault().PopGroepId); 

です。

関連する問題