/// <summary> /// 선박 입출항 정보 저장 /// </summary> /// <param name="csvFileData"></param> private void CopyToDataBaseFromVesselInOut(DataTable csvFileData) { cssVesselInOut vio = new cssVesselInOut(); List <cssVesselInOut> lstData = vio.DataTableToClass(csvFileData); var bulk = new BulkOperations(); // var VesselInfo = new List<VesselInfo>(); using (TransactionScope trans = new TransactionScope()) { using (SqlConnection conn = new SqlConnection(connectionString)) { bulk.Setup <cssVesselInOut>() .ForCollection(lstData) .WithTable("VesselInOut") .AddAllColumns() .BulkInsertOrUpdate() //.SetIdentityColumn(x => x.clsgn) .MatchTargetOn(x => x.clsgn) .MatchTargetOn(x => x.etryptYear) .MatchTargetOn(x => x.etryptCo) .MatchTargetOn(x => x.etryndNm) .MatchTargetOn(x => x.prtAgNm) .Commit(conn); } trans.Complete(); } }
} // 부선호출부호2 public List <cssVesselInOut> DataTableToClass(DataTable dt) { List <cssVesselInOut> lstData = new List <cssVesselInOut>(); if (dt == null) { return(lstData); } for (int i = 0; i < dt.Rows.Count; i++) { cssVesselInOut vio = new cssVesselInOut(); PropertyInfo[] props = vio.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic); foreach (var property in props) { string colName = string.Empty; if (dicInOut.TryGetValue(property.Name, out colName)) { property.SetValue(vio, dt.Rows[i][colName].ToString()); } } lstData.Add(vio); } return(lstData); }