san*_*ewa 3 c# entity-framework-6
我正在用c#.net实体框架和sql server 2008r2开发应用程序.这是我的代码
C#.net代码
foreach (var tempProduct in purchaseDetailTemp)
{
invPurchase = new InvPurchaseDetailTemp();
invPurchase.ProductID = tempProduct.InvProductMasterID;
invPurchase.ProductCode = tempProduct.ProductCode;
invPurchase.ProductName = tempProduct.ProductName;
context.InvPurchaseDetails.Add(invPurchase);
context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
purchaseDetailTemp是我的数据表.我想在没有foreach循环的情况下保存数据.我正在尝试使用mergeSql和批量插入.有没有办法做到这一点?
将saveChange移出循环.
为了使它更快......你可以在上下文实体上使用AddRange选项,这减少了实体模型检查.
for循环只是将其转换为正确的实体类型.如果它已经是正确的类型,则可以跳过循环
见下文..
List<InvPurchaseDetail> invPurchaselist = new List<InvPurchaseDetail>();
foreach (var item in purchaseDetailTemp)
{
var newItem= new InvPurchaseDetail();
newItem.ProductID = item.InvProductMasterID;
newItem.ProductCode = item.ProductCode;
newItem.ProductName = item.ProductName;
invPurchaselist.add(newItem)
}
context.InvPurchaseDetails.AddRange(invPurchaselist);
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
951 次 |
| 最近记录: |