MVC - 模型类中的公共列表

时间:2016-03-09 13:08:10

标签: asp.net-mvc

我对MVC很新,开始一个新项目,并希望在我继续进行之前进行更改或更难以改变。

我可以在模型中添加我的列表吗?目前我的代码是这样的: 或者我应该将我的列表放在另一个文件夹中或许服务?我不确定。

模型/滤波器/ ObjAdmissionsRegion.cs

namespace EC.Dashboard.Models.Filters
{
    public class ObjAdmissionsRegion
    {
        public string ArgName { get; set; }
        public int ArgPk { get; set; }

        public List<ObjAdmissionsRegion> GetAdmissionsRegion()
        {
            List<ObjAdmissionsRegion> list = new List<ObjAdmissionsRegion>();

            DalAdmissionsRegion dal = new DalAdmissionsRegion();
            foreach (DataRow dr in dal.GetAdmissionsRegion().Rows)
            {
                ObjAdmissionsRegion obj = new ObjAdmissionsRegion();
                obj.ArgName = (string)dr["ARG_NAME"];
                obj.ArgPk = (int)dr["ARG_PK"];
                list.Add(obj);
            }

            return list;
        }
    }
}

数据层/ DalAdmissionsRegion.cs

namespace EC.Dashboard.DataLayer.Filters
{
    public class DalAdmissionsRegion
    {
        public DataTable GetAdmissionsRegion()
        {
            StringBuilder strBuilder = new StringBuilder();
            strBuilder.Append("select ARG_PK, ARG_NAME from dbo.TBL_ADMISSIONS_REGION_ARG where ARG_DELETED = 0 order by ARG_NAME");

            DataTable dataTable = new DataTable();

            using (SqlDataAdapter dataAdapter = new SqlDataAdapter(strBuilder.ToString(), ConfigurationManager.ConnectionStrings["ecProd"].ConnectionString))
            {
                dataAdapter.Fill(dataTable);
            }
            return dataTable;
        }
    }
}

控制器/ FiltersController.cs

namespace EC.Dashboard.Controllers
{
    public class FiltersController : Controller
    {
        public JsonResult ReadAdmissionsRegion()
        {
            Models.Filters.ObjAdmissionsRegion mod = new Models.Filters.ObjAdmissionsRegion();
            return Json(mod.GetAdmissionsRegion(), JsonRequestBehavior.AllowGet);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

只要数据库中的数据是可消耗的,您就可以清除它并添加列表。

使用实体框架,codefirst将生成一个新数据库,并添加新列表。