ASP.NET MVC:将查询数据传输到控制器中的模型 class 对象
ASP.NET MVC : transfering query data to model class object in controller
我有一个连接查询
var DetailsQuery = (from a in db.aTable
join b in db.bTable on a.carID equals b.ID
where a.ID==id
select new
{
ID = a.ID != null ? a.ID : 0,
aName= a.aName,
carName= b.carName,
}).Take(1);
我使用 Take(1)
是否正确?实际上任何方法都必须只有一行具有这样的 ID,所以我应该写这个 Take(1)
还是没有它就可以工作?
现在,我为视图创建了一个新模型class
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; }
}
如何将此查询对象传输到此模型,以便在视图中显示它?
var DetailsQuery = (from a in db.aTable
join b in db.bTable on a.carID equals b.ID
where a.ID==id
select new
{
ID = a.ID != null ? a.ID : 0,
aName= a.aName,
carName= b.carName,
}).FirstOrDefault();
在视图中使用视图模型:
@model <your project name>.ViewModels.ModifiedaTableModel;
假设您的视图模型 class 在 "ViewModels" 文件夹中。
控制器:
var DetailsQuery = from a in db.aTable
join b in db.bTable on a.carID equals b.ID
where a.ID == id
select new ModifiedaTableModel
{
ID = a.ID != null
? a.ID
: 0,
aName = a.aName,
carName = b.carName
});
return View(DetailsQuery.FirstOrDefault());
视图(可能需要模型的命名空间):
@model ModifiedaTableModel
如果您 select 只有匿名类型对象,在视图渲染期间可能会发生 InvalidOperationException。
我有一个连接查询
var DetailsQuery = (from a in db.aTable
join b in db.bTable on a.carID equals b.ID
where a.ID==id
select new
{
ID = a.ID != null ? a.ID : 0,
aName= a.aName,
carName= b.carName,
}).Take(1);
我使用 Take(1)
是否正确?实际上任何方法都必须只有一行具有这样的 ID,所以我应该写这个 Take(1)
还是没有它就可以工作?
现在,我为视图创建了一个新模型class
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; }
}
如何将此查询对象传输到此模型,以便在视图中显示它?
var DetailsQuery = (from a in db.aTable
join b in db.bTable on a.carID equals b.ID
where a.ID==id
select new
{
ID = a.ID != null ? a.ID : 0,
aName= a.aName,
carName= b.carName,
}).FirstOrDefault();
在视图中使用视图模型:
@model <your project name>.ViewModels.ModifiedaTableModel;
假设您的视图模型 class 在 "ViewModels" 文件夹中。
控制器:
var DetailsQuery = from a in db.aTable
join b in db.bTable on a.carID equals b.ID
where a.ID == id
select new ModifiedaTableModel
{
ID = a.ID != null
? a.ID
: 0,
aName = a.aName,
carName = b.carName
});
return View(DetailsQuery.FirstOrDefault());
视图(可能需要模型的命名空间):
@model ModifiedaTableModel
如果您 select 只有匿名类型对象,在视图渲染期间可能会发生 InvalidOperationException。