如何及時插入具有ComplexType的許多實體?具有ComplexType的BulkInsert實體
考慮以下幾點:
public class Entity {
public Address Address { get; set; }
}
[ComplexType]
public class Address {
[ColumnName("Street")]
public string Street { get; set; }
}
我試圖SqlBulkTools而忽略嵌套屬性。 .CustomColumnMapping(x => x.Address.Street, "Street")
和.AddColumn(x => x.Address.Street)
都沒有崩潰,但實際上也沒有做任何事情。
我也嘗試過EntityFramework.BulkInsert-ef6
這是由ComplexTypes和崩潰混淆。
即使在關閉了ValidateOnSaveEnabled和AutoDetectChangesEnabled的情況下,逐個執行插入也需要很長時間。創建新的上下文並使用數量DbContext.SaveChanges()
也沒有幫助。
只是我的看法:我不喜歡EF6附近的任何BulkInsert工具。沒有太多的支持,也沒有人保證他們可以使用更高版本的EF。 (而數據組件太過核心,無法承擔這種風險)。所以只要我想散裝東西。即使它導致更不優雅的解決方案,我也使用舊的優質ADO.NET SqlBulkCopy。 – gsharp
在.Net中運行SQL的最有效方式是ADO.Net。 **沒有任何**會在表演中擊敗這一點。所以,如果你想性能使用ADO.Net SqlBulkCopy(如上所述) – Liam