
[英]how to make HQL that will generate SQL to insert multiple values in one statement?
[英]Entity Framework Core Insert multiple entities similar to SQL single insert statement
您如何设法获得与SQL简单相同的效果
INSERT INTO myTable VALUES (X), (Y), (Z),.....
等等?
您可以按照以下步骤生成查询并执行相同的查询;
DatabaseContext.Database.ExecuteSqlCommand(yourQuery);
请参考此处的文档。 即使与EF相关,它也适用于EF Core
如果您将EF Core与SQL Server一起使用,并且必须插入很多实体,则可以选择以下使用SqlBulkCopy的库之一:
用法很简单
List<MyEntity> entities = ...;
await context.BulkInsertAsync(entities);
SqlBulkCopy是将实体放入SQL Server的最快方法。
请注意,与原始SQL语句一样,
DbContext
无法DbContext
此操作,因此需要谨慎。 但是,如果您必须插入大量数据,那么就没有太多选择,只能使用一些更接近数据库的技术。
var entityList = new List<Entity>();
entityList = {
new Entity { Property1 = Value, Property2 = "Value"},
new Entity { Property1 = Value, Property2 = "Value"}
}
context.AddRange(entityList); //Add() for single entity
context.SaveChanges();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.