mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-24 18:04:52 +08:00
Update bluecopy
This commit is contained in:
parent
61295f3487
commit
8d3a6f8d65
@ -31,7 +31,7 @@ namespace OrmTest
|
||||
});
|
||||
|
||||
var insertObj = new Order() { Id = 1, Name = "order1",Price=0 };
|
||||
var updateObjs = new List<Order> {
|
||||
var insertObjs = new List<Order> {
|
||||
new Order() { Id = 11, Name = "order11", Price=0 },
|
||||
new Order() { Id = 12, Name = "order12" , Price=0}
|
||||
};
|
||||
@ -45,11 +45,17 @@ namespace OrmTest
|
||||
db.Insertable(insertObj).InsertColumns("Name", "Price").ExecuteReturnIdentity();
|
||||
|
||||
//ignore null columns
|
||||
db.Insertable(updateObjs).ExecuteCommand();//get change row count
|
||||
db.Insertable(insertObjs).ExecuteCommand();//get change row count
|
||||
|
||||
//Use Lock
|
||||
db.Insertable(insertObj).With(SqlWith.UpdLock).ExecuteCommand();
|
||||
|
||||
insertObjs = new List<Order> {
|
||||
new Order() { Id = 11, Name = "order11", Price=1 },
|
||||
new Order() { Id = 12, Name = "order12" , Price=20, CreateTime=DateTime.Now, CustomId=1}
|
||||
};
|
||||
db.Insertable(insertObjs).UseSqlServer().ExecuteBlueCopy();
|
||||
|
||||
Console.WriteLine("#### Insertable End ####");
|
||||
}
|
||||
}
|
||||
|
@ -67,7 +67,6 @@
|
||||
<Compile Include="Demo\DemoE_CodeFirst.cs" />
|
||||
<Compile Include="Demo\DemoF_Utilities.cs" />
|
||||
<Compile Include="Demo\DemoG_SimpleClient.cs" />
|
||||
<Compile Include="Demo\student.cs" />
|
||||
<Compile Include="Models\Custom.cs" />
|
||||
<Compile Include="Models\EntityMapper.cs" />
|
||||
<Compile Include="Models\Mapper.cs" />
|
||||
|
@ -17,24 +17,35 @@ namespace SqlSugar
|
||||
public int ExecuteBlueCopy()
|
||||
{
|
||||
if (DbColumnInfoList==null||DbColumnInfoList.Count == 0) return 0;
|
||||
DataTable dt = new DataTable();
|
||||
var columns = DbColumnInfoList.First().Select(it => it.DbColumnName ).ToList();
|
||||
foreach (var item in columns)
|
||||
{
|
||||
dt.Columns.Add(item);
|
||||
}
|
||||
|
||||
var dt= this.Context.Ado.GetDataTable("select top 0 * from " + InsertBuilder.GetTableNameString);
|
||||
foreach (var rowInfos in DbColumnInfoList)
|
||||
{
|
||||
var dr = dt.NewRow();
|
||||
foreach (var item in rowInfos.ToList())
|
||||
foreach (DataColumn item in dt.Columns)
|
||||
{
|
||||
dr[item.DbColumnName] = item.Value;
|
||||
var rows= rowInfos.ToList();
|
||||
var value = rows.FirstOrDefault(it =>
|
||||
it.DbColumnName.Equals(item.ColumnName, StringComparison.CurrentCultureIgnoreCase)||
|
||||
it.PropertyName.Equals(item.ColumnName, StringComparison.CurrentCultureIgnoreCase)
|
||||
);
|
||||
if (value != null)
|
||||
{
|
||||
if (value.Value != null && UtilMethods.GetUnderType(value.Value.GetType()) == UtilConstants.DateType)
|
||||
{
|
||||
if (value.Value != null && value.Value.ToString() == DateTime.MinValue.ToString())
|
||||
{
|
||||
value.Value = Convert.ToDateTime("1753/01/01");
|
||||
}
|
||||
}
|
||||
dr[item.ColumnName] = value.Value;
|
||||
}
|
||||
}
|
||||
dt.Rows.Add(dr);
|
||||
}
|
||||
SqlBulkCopy bulkCopy = new SqlBulkCopy(this.Context.Ado.Connection as SqlConnection);
|
||||
//获取目标表的名称
|
||||
bulkCopy.DestinationTableName = InsertBuilder.EntityInfo.EntityName;
|
||||
bulkCopy.DestinationTableName = InsertBuilder.GetTableNameString;
|
||||
//写入DataReader对象
|
||||
if (this.Context.Ado.Connection.State == ConnectionState.Closed)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user