c# - 从表中获取单行并在第二个表上加入并在详细信息视图中显示
问题描述
我有一个表,其中一个组件是汽车 ID,而在 bTable 中有汽车名称。现在我有一个Tables id。在控制器中以默认方式我们这样做
public ActionResult Details(int? id)
{
var aObject= db.aTable.Find(id);
return View(aObject);
我们使用 aTable 模型类生成“详细信息”视图。
但在这种情况下,我将看到我将只显示汽车 ID 而不是名称的视图。而且我想在查询 aTable 时加入 bTable 并且在视图中我想显示汽车名称文本。
为此,我必须创建新的模型类。我已经做到了。但是我如何使用实体框架执行单对象查询并传输对象来查看?
a table is
int aID
string aName
int carID
b talbe is
int bID
string bcarName
public class ModifiedaTableModel
{
[Key]
[Required(ErrorMessage = "aIDis required.")]
public int aID{ get; set; }
[Required(ErrorMessage = "aName required.")]
public string aName{ get; set; }
[Required(ErrorMessage = "carName required.")]
public string carName{ get; set; }
}
解决方案
如果您CarID
是bID
,请执行以下操作:
var modifiedATableModel = (from a in aTable
join b in bTable
on a.carID equals b.bID
select new ModifiedaTableModel
{
aID = a.aID,
aName = a.aName,
carName = b.bcarName
}).FirstOrDefault();
推荐阅读
- python - 如何使用 Python for 循环让我的程序返回正确的值?
- flutter - Flutter AppBar 弹出菜单按钮。想要带有 Pop 的前导图标和带有 Popup 的右侧图标
- google-bigquery - 需要针对上一年的特定日期范围的结果 - bigquery
- blazor - 无法理解 Blazor/Mono 编译错误?
- php - Wordpress add_image_size 裁剪质量超级差
- common-lisp - 如何在lisp中将字符作为列表返回
- python - 以提升的权限运行 Pyinstaller EXE 文件
- javascript - 为什么脚本和样式表不能通过 HTTP 加载?
- javascript - Javascript动态确定函数调用的一部分
- c# - 没有从构造函数调用 yield 返回的方法?