0

イベント (= スポーツ分野) への外部キーを使用してレコード POCO クラスを作成しました。記録は 1 つのイベントにリンクできますが、イベントには複数の記録 (世界記録、オリンピック記録など) を含めることができます。ここで、データベース内の各イベント (+ 添付レコード) を for-each ループで Index ビューに出力したいと考えています。

しかし、テーブル Record には List プロパティがないため、Record テーブルからイベントのローカル (Distinct)List を作成する必要があり、そこに問題があります。

追加情報については、ここに私のレコードモデルがあります

    public class Record
{
    [Key]
    public int RecordId { get; set; }
    public string ResultName { get; set; }
    public int ResultAge { get; set; }
    public double ResultPrestation { get; set; }
    public System.DateTime ResultDate { get; set; }
    public string ResultPlace { get; set; }
    public int CountryId { get; set; }  
    [ForeignKey("CountryId")]
    public virtual Country Country {get; set;}
    public int EventId { get; set; }
    [ForeignKey("EventId")]
    public virtual Event Event { get; set; }
}

そしてイベントモデル

    public class Event
{
    [Key]
    public int EventId { get; set; }
    public String Sport { get; set; }
    public String Discipline { get; set; }
    public Boolean SchoolcupEvent { get; set; }
    public List<Record> Records { get; set; }
}

私はレコードが存在する魔女のイベントのリストで終わる小さな作品を書きましたが、これは個別のリストではなく、それが私が必要とするものです。

        List<Event> events = new List<Event>();
        foreach(var item in db.Records)
        {               
            Event e = db.Events.Find(item.EventId);
            events.Add(e);
        }

誰かが私を助けてくれることを願っています。

よろしく

4

3 に答える 3

4
var events = db.Records.Distinct().ToList();
于 2013-05-21T21:10:20.247 に答える
0

重複がある場合は削除し、セットをリストに戻すセットにイベントを入れるのはどうですか。

Set<Event> eventSet = new TreeSet<Event>();
foreach(var item in db.Records)
{               
        Event e = db.Events.Find(item.EventId);
        eventSet.Add(e);
}
List<Event> eventList = new ArrayList<Event>();
if(eventSet != null && eventSet.size() > 0)
{
        eventList.add(eventSet);
}
于 2013-05-21T21:16:59.703 に答える
0

Enumerable.Distinctが機能するはずです

于 2013-05-21T21:07:52.073 に答える