如何及时插入具有复杂类型的多个实体?
考虑以下几点:
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()
也无济于事。
最佳答案
您可以使用 Entity Framework 扩展库轻松做到这一点。
举个例子:
//update all Entities with Street of MyStreet to Street of YourStreet
context.Entities
.Where(t => t.Address.Street == "MyStreet")
.Update(t => new Entity { t.Address.Street = "YourStreet" });
关于c# - 具有 ComplexType 的 BulkInsert 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39849934/