1

私はdbに2つのテーブルを持っています。最初のテーブルのすべての説明、2 番目のテーブルの説明は最初のテーブルの一部です。次のようになります。

+----------+    +----------+
I  Table1  I    I  Class   I
+----------+    +----------+
I  Id      I    I  Id      I
I  ClassId I <- I  Name    I
+----------+    +----------+

メインテーブルのテーブル1.接続テーブルが利用可能です。

[HttpPost]
public ActionResult RoomFound(int className, FormCollection collection)
{
    var example = db.table1.Where(p => p.ClassId == className);
    ViewBag.Ex = example.ToList();
}

そして今、Viewを作成して結果を表示すると、ClassIdが数字のように表示されますが、table2から文字列形式を表示したい. メイン テーブル (テーブル 1) でテーブル 2 (クラス) からタイを接続するにはどうすればよいですか。

4

1 に答える 1

1

className実際に a であると仮定すると、テーブルをClassIdクエリする必要さえなく、テーブルを直接Table1クエリするだけです。Class

ViewBag.Ex = db.Class.Where(p => p.Id == className).Select(p => p.Name).ToList();

ただし、ここには明確な関係があることを指摘しTable1ますClass。したがって、これをDBレベルで定義し、これをORMモデルに適用して、ナビゲーションプロパティを自動的に提供することをお勧めします。

var t = db.table1.Where(p => p.ClassId == className);
ViewBag.Ex = t.Select(p => p.Class.Name).ToList();

Table1私が言ったように、ここでテーブルをクエリする必要さえないようです。

于 2013-09-25T11:04:07.713 に答える