Entity Framework: повышение производительности при вставке записи в таблицу с большим количеством записей - PullRequest
1 голос
/ 19 февраля 2020

Я хочу вставить одну запись в таблицу с 60 столбцами (некоторые из них не обязательны) и 2 миллионами записей. Это займет около 20 секунд.

var package = new Package()
      {
          DestinationCityId = city.Id,
          OriginCityId = RequestDetails.User.Retailer.CityId,
          State = state,
          CreatedOn = RequestDetails.DateTime,
          CreatedByUserId = RequestDetails.User.Id,
          OrderedOn = RequestDetails.DateTime,
          CustomerName = "a",
          CustomerAddress = "a",
          CustomerEmail = "a",
          CustomerPostalCode = "a",
          CustomerLandPhone = "a",
          CustomerCellPhone = "aa",
          CustomerMessage = "a",
          CustomerSubstitute = "a",
          RetailerPackageDiscount = 0,
          Barcode = "2",
          InternalBarcode = "11111",
          PackagingWeight = 10,
          DeliveryType = PackageDeliveryType.ByPostExpress,
          ProvidedByWarehouse = false,
          NeedReview = false,
          NeedReviewType = NeedReviewType.Unknown,
          RetailerId = retailer.Id,
          Retailer = retailer
      };

DbContext.ZPackages.Add(package);
DbContext.SaveChanges();

Любая идея по улучшению производительности?

Ответы [ 2 ]

2 голосов
/ 19 февраля 2020

Разделы , Индексы , Asyn c CRUD операции, где это возможно. Это не проблема EF

0 голосов
/ 19 февраля 2020

Вы также можете взглянуть на проект EfCore Bulk Extensions, если вы используете EF Core https://github.com/borisdj/EFCore.BulkExtensions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...