1

我在数据库中有 2 个表。第一个表是它的全部描述,第二个表描述是第一个表的一部分。它看起来像:

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

主表其table1.Connection 表可用。

[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实际上是一个ClassId那么你甚至不需要查询Table1表,直接查询Class表即

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

但是,我会指出两者之间存在明确的关系Table1Class因此通常最好在 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 回答