asp.net mvc linq我想从两个联接表中获取两列
我有两个表与PrId column连接,我有一个视图显示两个表中的两列,第一个表中的第一列和第二个表中的第二列。我的结果是:asp.net mvc linq我想从两个联接表中获取两列,linq,asp.net-mvc-4,Linq,Asp.net Mvc 4,我有两个表与PrId column连接,我有一个视图显示两个表中的两列,第一个表中的第一列和第二个表中的第二列。我的结果是: public ActionResult extrapoints() { ViewBag.dList = (from m in _session.customer join p in _session.Products on m.PrId equals p.PrId
public ActionResult extrapoints()
{
ViewBag.dList = (from m in _session.customer
join p in _session.Products on m.PrId equals p.PrId
where m.UserId== 'john'
select new { FName = m.FName, price=p.price});
return View();
}
鉴于我想展示FName和price,我有以下观点:
@foreach(ViewBag.dList中的变量项)
{
@item.FName
@项目.价格
}
但是is show error object’不包含FName的定义,但是当我在没有FName的情况下使用时,类似于price
@foreach (var item in ViewBag.dList)
{
<tr>
<td>@item</td>
<td> @item</td>
</tr>
}
@foreach(ViewBag.dList中的变量项)
{
@项目
@项目
}
信息系统显示:
{FName=Shailendra,price=1000}
如何解决,请帮助您可以将匿名类转换为类型化类,首先添加此类
class Test
{
public string FName { get; set; }
public decimal price { get; set; }
}
让你像我一样
ViewBag.dList = (from m in _session.customer
join p in _session.Products on m.PrId equals p.PrId
where m.UserId== 'john'
select new Test{ FName = m.FName, price=p.price});
最后将viewpage强制转换为类型“Test”
@foreach(列表)ViewBag.dList中的变量项)
{
@项目名称
@项目.价格
}
ViewBag.dList = (from m in _session.customer
join p in _session.Products on m.PrId equals p.PrId
where m.UserId== 'john'
select new Test{ FName = m.FName, price=p.price});
@foreach (var item in (List<Test>)ViewBag.dList)
{
<tr>
<td>@item.Fname</td>
<td> @item.price</td>
</tr>
}