【问题标题】:how to store data in sqlserver using EF from a datatable or list如何使用数据表或列表中的 EF 将数据存储在 sqlserver 中
【发布时间】:2013-08-27 08:40:44
【问题描述】:

在我的项目中,我使用 MVC3 和 Entity F/w 。我有一个带有表格数据的 excel 表,我可以将数据从 excel 表中检索到数据表或列表,但现在我如何仅使用实体框架将其存储到我的 Sqlserver 表中。如果有人知道解决方案,请帮助我。

我的excel表格

User_Id Account_Name Account_Date Current_Balance Age 1 Abcd 2013 年 12 月 10 日 5000 26 2 Wxyz 2010 年 10 月 12 日 2100 31 3 Klmn 2000 年 1 月 1 日 3500 23 4 Pqrs 10/1/2001 8900 30 5 图夫 12/10/1990 9000 27

检索列表中的数据存储

        var excel = new ExcelQueryFactory("E:\\ExcelMvc.xlsx");
        var dataContent = from c in excel.Worksheet("Sheet1")
                          select c;

        List<ExcelMvcModels> LstData = new List<ExcelMvcModels>();

        foreach (var item in dataContent)
        {
            LstData.Add(new ExcelMvcModels()
            { User_Id=item[0],
             Account_Name = item[1],
             Account_Date=item[2],
             Current_Balance=item[3],
             Age=Convert.ToInt32(item[4])

            });
        }

或检索数据表中的数据存储

        DataTable dt = new DataTable();
        DataRow dr;
        dt.Columns.Add(new System.Data.DataColumn("User_Id", typeof(string)));
        dt.Columns.Add(new System.Data.DataColumn("Account_Name", typeof(string)));
        dt.Columns.Add(new System.Data.DataColumn("Account_Date", typeof(string)));
        dt.Columns.Add(new System.Data.DataColumn("Current_Balance", typeof(string)));
        dt.Columns.Add(new System.Data.DataColumn("Age", typeof(int)));

        if (dataContent != null)
        {
            foreach (var item in dataContent)
            {
                dr = dt.NewRow();
                dr[0] = item[0].Value.ToString();
                dr[1] = item[1].Value.ToString();
                dr[2] = item[2].Value.ToString();
                dr[3] = item[3].Value.ToString();
                dr[4] = item[4].Value.ToString();

                dt.Rows.Add(dr);
            }
        }

【问题讨论】:

    标签: sql-server asp.net-mvc-3 entity-framework


    【解决方案1】:

    遍历您的列表并将 ExcelMvcModels 的每个实例添加到您的上下文中:

    using (var context = new ModelsContext())
    {
        foreach (var m in LstData)
        {
          context.Models.Add(m);
        }
    
        context.SaveChanges();
    }
    

    有关更多信息,请浏览/阅读 msdn 网站“Get started with Entity Framweork

    【讨论】:

      猜你喜欢
      • 2011-03-05
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多