3
我插入大量的記錄像20K使用批量插入,它將工作正常,當我只插入一個實體。但是當我用來插入一對多的多個實體時,它只會插入未插入子實體的父實體。批量插入實體框架
我的實體和代碼
Customer.cs
public class Customer
{
public Customer()
{
this.AccountCustomers = new HashSet<AccountCustomer>();
}
public int CustomerId{get;set;}
public int CustomerName{get;set;}
public virtual ICollection<AccountCustomer> AccountCustomers { get; set; }
}
AccountCustomer.cs
public partial class AccountCustomer
{
public int CustomerId { get; set; }
public string CustomData { get; set; }
public System.DateTime CreatedDate { get; set; }
public virtual Customer Customer { get; set; }
}
My code:
List<Customer> customerList = CreateCustomer();
for (int index = 0; index < 20000;index++)
{
Customer customer = new Customer();
customer.CustomerName= "Parthi";
AccountCustomer accountCustomer = new AccountCustomer();
accountCustomer.CustomdData= "customdata";
accountCustomer.CreatedDate = DateTime.UtcNow;
customer.AccountCustomers.Add(accountCustomer);
customerList.Add(customer);
}
private static void AddCustomer(List<Customer> customerList)
{
using (var ctx =new Directdialogs())
{
using (var transactionScope = new TransactionScope())
{
try
{
ctx.BulkInsert(customerList);
ctx.SaveChanges();
transactionScope.Complete();
}
catch(Exception ex)
{
transactionScope.Dispose();
}
}
}
}
這是我的代碼,但它會插入只有客戶實體數據未將帳戶的客戶數據,是批量插入不支持插入多個實體有人知道幫我。
在此先感謝。
'BulkInsert'是一種擴展方法。 – Dai 2015-02-11 04:11:27
什麼是'BulkInsert'?不是EF中的東西 – Shoe 2015-02-11 04:34:20
它在實體框架6中的朋友。 – parthicool05 2015-02-11 04:36:39