私はシンプルなDB構造を有する:LINQ to Entitiesクエリを使用してテーブルを結合する方法は?
public class Person
{
[Key]
public int PersonID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Transport
{
[Key]
public int TransportID { get; set; }
public string Model { get; set; }
public string Brand { get; set; }
}
public class Accident
{
[Key]
public int AccsidentID { get; set; }
public DateTime AccidentDate { get; set; }
public int TransportID { get; set; }
[ForeignKey("TransportID")]
public virtual Transport Transport { get; set; }
public int PersonID { get; set; }
[ForeignKey("PersonID")]
public virtual Person Person { get; set; }
}
私は事故のリストを作成する必要があり、私は(MVVMを使用して)WPFフォームに渡すことができWICH
まず私がしたい、新しいクラスの魔女を作成私GRIDCONTROLで見る
public class AccsidentObject
{
[Key]
public int AccidentID { get; set; }
public DateTime AccidentDate { get; set; }
public int TransportID { get; set; }
public string Model { get; set; }
public string Brand { get; set; }
public int PersonID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
はあなたが私に与えてもらえ例:
私は交通からのデータとのPersonテーブル私はTransportIDでグループ化された事故の一覧を取得したい場合
var result = from ac in DBContext.Accidents select ac;
List<Accident> accidentList = result.toList();
しかし、私はどのようなコードは次のようになり、他のテーブルから一覧表示するにはいくつかのフィールドを追加する必要があります。
私は、LINQクエリからデータを取得していますか?
私は間違ったことをしてAccidentObjectのリストを構築できませんでした。多分私のDBContextに何か間違いがあります。何かをリストしています... List要素を理解するのを助けてください?私が書いた2パートに考慮
:
VAR結果= DBContext.Accidentsで交流から選択し、交流。
result = result.GroupBy(g => g.TransportID).toList();
そして今、私はいくつかのトランスポートの詳細およびフォーマットAccsidentObjectリストを追加する必要があります...
最初の部分は単純です: 'select ac'の代わりに'新しいAccsidentObject {AccidentID = ac.AccidentID、etc ...} 'を使用してください(' AccsidentObject'のすべてのプロパティを対応する 'ac'、' ac .Transport'と 'ac.Person'フィールド) –
ありがとう、モミの部分が解決されました...私は本当に選択した新しいAccidentObject {} – Songaila