C# ViewModel控制器
我得到了错误 严重性代码说明项目文件行错误CS0742 A查询正文 必须以select子句或group子句结尾 导致此错误的原因是什么?我将如何修复它 这是我的控制器C# ViewModel控制器,c#,entity-framework,linq,C#,Entity Framework,Linq,我得到了错误 严重性代码说明项目文件行错误CS0742 A查询正文 必须以select子句或group子句结尾 导致此错误的原因是什么?我将如何修复它 这是我的控制器 public ActionResult Index() { string currentUserId = this.User.Identity.GetUserName(); var list = from o in new TshirtStoreDB().Order
public ActionResult Index()
{
string currentUserId = this.User.Identity.GetUserName();
var list = from o in new TshirtStoreDB().Orders
.Where(o => o.Username == currentUserId)
.OrderBy(o => o.OrderDate)
.Select(o => new MyOrdersViewModel()
{
OrderId = o.OrderId,
Address = o.Address,
FirstName = o.FirstName,
LastName = o.LastName,
City = o.City,
OrderDate = o.OrderDate,
PostalCode = o.PostalCode,
Total = o.Total,
HasBeenShipped = o.HasBeenShipped,
Details = (from d in o.OrderDetails
select new MyOrderDetails
{
Description = d.Product.Description,
Quantity = d.Quantity,
Title = d.Product.Title,
UnitPrice = d.UnitPrice
}).ToList()
}).ToList();
return View(list);
}
没有错误,只是现在看不到数据,我的视图有问题吗
@model List<T_shirt_Company_v3.ViewModels.MyOrdersViewModel>
@{
ViewBag.Title = "My Orders";
}
<table bgcolor="#00FF00" cellpadding="4" cellspacing="3">
@foreach (var m in Model)
{
<tr>
<td>Order Placed At: @m.OrderDate</td>
<td>Total Cost: @m.Total</td>
<td>Dispatched to: @m.FirstName @m.LastName</td>
<td>Delivery Address: @m.Address <br /> @m.City <br /> @m.PostalCode <br /> </td>
<td>Order Number: @m.OrderId</td>
</tr>
foreach (var d in m.Details)
{
<tr>
<td colspan="3">Product Name: @d.Title</td>
<td>Quantity Ordered: @d.Quantity</td>
<td>Price: @d.UnitPrice</td>
</tr>
}
}
</table>
问题可能是因为未向视图发送有效的模型。请检查一下这个
List<T_shirt_Company_v3.ViewModels.MyOrdersViewModel> list = (from o in new TshirtStoreDB().Orders
.Where(o => o.Username == currentUserId)
.OrderBy(o => o.OrderDate)
.Select(o => new MyOrdersViewModel()
{
OrderId = o.OrderId,
Address = o.Address,
FirstName = o.FirstName,
LastName = o.LastName,
City = o.City,
OrderDate = o.OrderDate,
PostalCode = o.PostalCode,
Total = o.Total,
HasBeenShipped = o.HasBeenShipped,
Details = (from d in o.OrderDetails
select new MyOrderDetails
{
Description = d.Product.Description,
Quantity = d.Quantity,
Title = d.Product.Title,
UnitPrice = d.UnitPrice
}).ToList()
}).ToList() select o).ToList();
没有这样的要求。我不明白答案。检查更新的答案。如果需要,请将其标记为正确solved@DharmatejN我已经用我的视图更新了我的问题,我是否也需要更改它,因为我无法再在控制器中使用此视图查看我的数据,没有错误,请检查更新的答案。如果列表不为空,那么您可以在视图中获取数据