1:nの関係を持つ2つのSQLデータベーステーブルがあります。私のASP.NET MVCソリューションでは、EFコードの最初の移行を有効にし、適切なDBContextとクラスを確立しました。MVCコントローラでLinqと2つのテーブルを結合する方法
ビューに表示する特定のレコードを選択するために、両方のテーブルを結合するMVCコントローラを作成したいと思います。
public class Tbl_Group_Communities : Entity
{
public string GKZ { get; set; }
public int G_ID { get; set; }
}
public class Katastralgemeinden : Entity
{
public string KGNr { get; set; }
public string KGName { get; set; }
public string GKZ { get; set; }
public string GemeindeName { get; set; }
}
は、これまでのところ、私は自分自身で、テーブルの作業コントローラーを思い付くことができていたが参加していません。ここで
は、2つのクラスです。最初のクラスのためのワーキングコントローラの下:私は考えて
public IEnumerable<Tbl_Group_Communities> Get()
{
var entities = UnitOfWork.GetAll<Tbl_Group_Communities>().ToList();
return entities;
}
、参加はLINQので行うことができますが、私はどのように/どこから始めれば見当がつかない。 両方のテーブルの共通キーはGKZです。参加はGKZ経由で確立する必要があります。そして、G_ID =一定の値を持つ結合レコードから特定のレコードを選択する必要があります。
誰かが私に助けを与えることができれば、とても感謝しています。 Manu
私は誰かと確信しています参加方法を教えてもらえますが、[コードの最初の関係]を構成する方法を研究することをお勧めします(http://www.entityframeworktutorial.net/code-first/configure-one-to-man y-relationship-in-code-first.aspx)。ナビゲーションプロパティを持つ適切なモデルをセットアップすれば、それはかなりシンプルです。 ViewModelsを調べることをお勧めします。 –
あなたは 'Join'ステートメントの記述方法に関するドキュメンテーションを見つけることができないのですか?それとは別に、 'UnitOfWork'が何を生成できるかははっきりしていません。 'Katastralgemeinden'も提供していますか?もしそうなら、 'GetAll'は何を返しますか?もしそれが 'IEnumerable'なら、結合は全く効率的ではありません。 –
私はドキュメンテーションを見つけることができましたが、C#とMVC-コントローラでかなり新しいので、ドキュメンタスは助けてくれるよりも混乱していました。 UnitOfWorkはKatastralgemeindenも提供します。私はGetAllがすべてのレコードを返すと思っていました。これは、コントローラーが動作する1つのテーブルに対してチェックが行われたことだけです。何がIEnumerableより効率的でしょうか? – Manu