using EFCore.BulkExtensions; using Hcs.WebApp.Data.Hcs; using Microsoft.EntityFrameworkCore; namespace Hcs.WebApp.Services { public class MeteringDeviceService(IDbContextFactory factory) : HcsServiceBase(factory) { public async Task> GetAllMeteringDevicesAsync() { using var context = GetNewContext(); return await context.MeteringDevices.ToListAsync(); } public async Task UpsertMeteringDevices(HcsDbContext context, IEnumerable meteringDevices) { await context.BulkInsertOrUpdateAsync(meteringDevices, new BulkConfig() { PropertiesToExcludeOnUpdate = [ nameof(MeteringDevice.ThirdPartyId) ], UpdateByProperties = [ nameof(MeteringDevice.HcsId) ] }); } } }