Asp.net mvc 我能数不清 public IEnumerable Get_Temp(字符串id) { //列表数据=新列表(); IEnumerable data=db.Temp\u顺序 .加入(db.Items, t_id=>t_id.ItemId, I_id=>I_id.ItemId, (t_id,I_id)=>new{t_id.Quantity,I_id.ItemName}) 。其中(x=>x.ItemName==id); 返回数据; }
在这个方法中,我想要Asp.net mvc 我能数不清 public IEnumerable Get_Temp(字符串id) { //列表数据=新列表(); IEnumerable data=db.Temp\u顺序 .加入(db.Items, t_id=>t_id.ItemId, I_id=>I_id.ItemId, (t_id,I_id)=>new{t_id.Quantity,I_id.ItemName}) 。其中(x=>x.ItemName==id); 返回数据; },asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,在这个方法中,我想要IEnumerable。所以我将在控制器中使用它并返回到视图 我得到了这个错误: 无法将类型“System.Linq.IQueryable”隐式转换为“System.Collections.Generic.IEnumerable”。存在显式转换(是否缺少转换?)E:\WORK\Projects\RMS\u Live\RMS\u Live\Models\Order.cs 正在将查询转换为匿名类型的IEnumerable。在结束处添加一个,以恢复到临时订单: public IEn
IEnumerable
。所以我将在控制器中使用它并返回到视图
我得到了这个错误:
无法将类型“System.Linq.IQueryable”隐式转换为“System.Collections.Generic.IEnumerable”。存在显式转换(是否缺少转换?)E:\WORK\Projects\RMS\u Live\RMS\u Live\Models\Order.cs
正在将查询转换为匿名类型的IEnumerable。在结束处添加一个,以恢复到临时订单
:
public IEnumerable<Temp_Order> Get_Temp(string id)
{
//List<Temp_Order> data = new List<Temp_Order>();
IEnumerable<Temp_Order> data = db.Temp_Order
.Join(db.Items,
t_id => t_id.ItemId,
I_id => I_id.ItemId,
(t_id, I_id) => new { t_id.Quantity, I_id.ItemName })
.Where(x => x.ItemName == id);
return data;
}
现在,您的函数变为:
public class OrderItem
{
public Temp_Order Temp_Order { get; set; }
public Item Item { get; set; }
}
可能重复@Theodoroschatziganakis我想我的错误是因为加入了查询。您提供的链接,在该链接中,querytnx:D中没有联接。。。但是如何访问Select中的项目表字段呢?
a
包含您在Join子句中选择的所有字段,因此您只有Quantity
和ItemName
可用..Select(a=>new Temp\u Order{Quantity=a.Temp\u Order.Quantity,ItemName=a.Item.ItemName}…出现错误…在此选择中只能访问临时订单字段:(请记住,您将所有这些数据存储在Temp_-Order
对象中,您不能向其中添加自己的属性。那么我的返回类型应该是什么而不是Ienumerable?我需要Temp_-Order和Item表的所有字段,并在视图中显示它们……请帮助我。)
public class OrderItem
{
public Temp_Order Temp_Order { get; set; }
public Item Item { get; set; }
}
public IEnumerable<OrderItem> Get_Temp(string id)
{
IEnumerable<OrderItem> data = db.Temp_Order
.Join(db.Items,
t_id => t_id.ItemId,
I_id => I_id.ItemId,
(t_id, I_id) => new OrderItem
{
Temp_Order = t_id,
Item = I_id
})
.Where(x => x.ItemName == id);
return data;
}
@Model.Temp_Order.ItemName