2011-05-23 109 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

相關問題