需要初学者帮助!!
我有理由从多个基于数据库的模型中提取一组数据。这很成功,我可以看到模型中的数据。我可以遍历foreach
(没有内部代码)观察数据通过它,但我仍然不确定如何从模型中获取数据以对其进行操作(需要在特定的位置发布)通往另一张桌子的方式)。
控制器
public ActionResult BuildEmptyEventClassComp()
{
var alllist = (from o in _db.Events
join o2 in _db.Event_Classes on o.EventID equals o2.EventID
where o.EventID.Equals(o2.EventID)
join o3 in _db.Class_Definitions on o2.ClassID equals o3.Class_Definition_ID
where o2.ClassID.Equals(o3.Class_Definition_ID)
where o.CurrentEvent.Equals(true)
select new EventClassCompListVM { EventName = o.EventName, EventDate = o.Date_Start, ClassName = o3.Class_Name, ClassOrder = o2.ClassOrder, MaxComp = o2.MaxComp, ClassID = o2.ClassID, EventID = o.EventID }).AsEnumerable();
foreach (var emptylist in alllist)
{
**emptylist.EventID = alllist.EventID;** //EventID cannot be found to populate
}
return RedirectToAction("../EventClass/ListEventClasses");
}
ViewModel(尝试了多种方式来改变这种情况......但是数据仍然在模型中,正如我所期望的那样......只是无法解决它!)
using System.Web;
namespace eManager.Web2.Models
{
public class EventClassCompListVM{
public int ECCLkey { get; set; }
public int CompeditorId { get; set; }
public int Comp_EventID { get; set; }
public DateTime EventDate { get; set; }
public int EventID { get; set; }
public int ClassID { get; set; }
public string CompName { get; set; }
public string EventName { get; set; }
public string CompMetricName { get; set; }
public double CompMetric { get; set; }
public int MaxComp { get; set; }
public string ClassName { get; set; }
public int ClassOrder { get; set; }
}
}
答案 0 :(得分:1)
根据您的代码,alllist
的类型为IEnumerable<EventClassCompListVM>
,emptylist
循环中的foreach
类型为EventClassCompListVM
,因此无法进行分配emptylist.EventID = alllist.EventID;
可以有效。
你实际上最想做的事情是:var myEmptyListEventId = emptylist.EventID;