繁体   English   中英

实体框架核心插入多个类似于SQL单个插入语句的实体

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM