我在db中有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中看到字符串格式。如何在主表(table1)中连接table2(Class)中的tie。
答案 0 :(得分:1)
假设className
实际上是ClassId
,那么您甚至无需查询Table1
表,只需直接查询Class
表即可。
ViewBag.Ex = db.Class.Where(p => p.Id == className).Select(p => p.Name).ToList();
但是,我会指出Table1
和Class
之间存在明确的关系,因此在数据库级别定义这一点通常是一个好主意,并将其自动传递到您的ORM模型为您提供导航属性,例如
var t = db.table1.Where(p => p.ClassId == className);
ViewBag.Ex = t.Select(p => p.Class.Name).ToList();
就像我说的那样,看起来你甚至不需要在这里查询Table1
表。