我的应用程序是使用实体框架的asp.net MVC3。我正在尝试使用以下方法从表中获取一列的列表作为数组:

   public ActionResult Index()
        {
            //var list = db.CasesProgresses.ToList();
            var SeriesList = GetSeriesList(Learner_ID);
            return View();
        }



        public List<string> GetSeriesList(string item)
        {
            // get DataTable dt from somewhere.
            List<string> sList = new List<string>();
            foreach (CasesProgress row in db.CasesProgresses)
            {
                sList.Add(row[0].ToString());
            }
            return sList;
        }


我得到两个错误:

Cannot apply indexing with [] to an expression of type 'caseprog.Models.CasesProgress' and
The name 'Learner_ID' does not exist in the current context


非常感谢您的建议。

最佳答案

 foreach (CasesProgress row in db.CasesProgresses)
 {
   sList.Add(row.SomePropertyYouNeed.ToString());
 }


如果您使用的是foreach,则没有[0]。如果您使用的是普通for (int i =0; i < list.Count; i ++;),则可以执行此操作。但是,当然,您必须将0更改为i,并且仍然需要访问属性。好吧,如果您的列表具有不同的类型,则不必这样做,但是在当前示例中,您将需要添加一个字符串。

关于c# - MVC Entity Framework 将一列作为数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12519160/

10-12 06:44