私のコードを見て、正しい方向に向けてください。Product と vProductAndDescription の 2 つのテーブルがあります。Product の Name と LisPrice、および vProductAndDescription の Description をそれぞれ ProductID で結合する必要があります。私の見解では、これを達成するために正しい軌道に乗っていますか? これまでのところ、クラッシュしているだけだからです。
コントローラ:
public ActionResult Index()
{
string query = "SELECT v.Name, p.ListPrice, LEFT(v.Description, 20) from SalesLT.vProductAndDescription v, SalesLT.Product p WHERE v.ProductID = p.ProductID";
var list = db.Database.SqlQuery<Product>(query);
var result = from a in list.ToList()
join b in db.vProductAndDescriptions on a.ProductID equals b.ProductID
select new
{
c = a.Name,
d = a.ListPrice,
e = b.Description
};
return View(result.ToList());
}
意見:
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<table>
<tr>
<th>Name
</th>
<th>Price (R)
</th>
<th>Description
</th>
<th></th>
</tr>
@foreach (var item in ViewData.Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.ListPrice)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
</tr>
}
</table>