2011-05-23 106 views
0

我使用LinqToExcel采取从Excel文件中的行,然后使用LINQToSQL写入SQLServer的。它并在数据库中创建,但值为空的记录。我不知道如果我需要在Mac对象(linqtoexcel)映射到HSD_TELE_INSTALLs对象?我不觉得我太遥远,因为它插入的记录。相关代码如下。提前致谢。LINQ:读取Excel文件,然后写入数据库

 //LINQ 
     var macs = from x in excel.Worksheet<Mac>(sheet) 
        select x; 
     //ITERATE WITH LINQ RESULTS 
     foreach (var x in macs) 
     { 
      HSD_TELE_INSTALL myRecord = new HSD_TELE_INSTALL(); 
      db.HSD_TELE_INSTALLs.InsertOnSubmit(myRecord); 
      db.SubmitChanges(); 
     } 

    public class Mac 
    { 
     public string REGION { get; set; } 
     public string MACID { get; set; } 
     public string HOUSEKEY { get; set; } 
     public string HOUSENUM { get; set; } 
     public string STREET { get; set; } 
     public string UNIT { get; set; } 
     public string ADDRESS2 { get; set; } 
     public string COMMUNITY { get; set; } 
     public string STATE { get; set; } 
     public string ZIPCODE { get; set; } 
     public string TECHNICIAN { get; set; } 
     public string JOBNO { get; set; } 
     public string JOBTYPE { get; set; } 
     public string CLOSEDATE { get; set; } 
     public string CLOSETIME { get; set; } 
     public string COMMENTS { get; set; } 
     public string MGT { get; set; } 
     public string COMPLETIONCODE { get; set; } 
     public string TCRSN { get; set; } 

回答

1

你正在创建HSD_TELE_INSTALL类型的新初始化的对象,然后你将它提交给数据库。

您应该从x以某种方式初始化它。例如:

HSD_TELE_INSTALL myRecord = new HSD_TELE_INSTALL(){SomeField=x.SomeField /*etc...*/ }; 
db.HSD_TELE_INSTALLs.InsertOnSubmit(myRecord); 
db.SubmitChanges(); 
+0

谢谢德米特里。说得通。 – 2011-05-24 11:49:47

相关问题