如何使用 LinQ 通过 ClassId 从“Table1”中获取 Name-property 的 Name-prope
本文关键字:获取 Name-property Name-prope Table1 LinQ 何使用 通过 ClassId | 更新日期: 2023-09-27 18:32:40
我在数据库中有 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();
}
现在,当我创建视图并显示结果时,它向我显示像数字一样的 ClassId,但我想从 table2 中看到字符串格式。如何在主表(表1(中连接表 2(类(中的领带。
假设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
表。