У меня есть приложение ASP.NET MVC, из которого я сейчас сохраняю данные в базу данных SQL Server.
Но я хочу, чтобы оно было слабосвязанным, поэтому я хочу вынуть этот кодв функцию Azure или в приложение логики для сохранения данных.
В настоящее время я использую Entity Framework, так как он находится внутри приложения ASP.NET MVC.
Вот пример кода, который у меня есть:
private async Task SaveDatabaseAsync(List<Device> deviceDataList)
{
// save device information into database
_Repository.InsertMultipleDevices(deviceDataList); // used AddRange
await _Repository.SaveAsync();
// save message data information into database
await SaveMessageData(deviceList);
}
private async Task SaveMessageData(List<Device> deviceListData , List<MessageData> messageDataList)
{
// replace device id PK because device id is FK in Message table which is previously saved SaveDeviceToDatabaseAsync
foreach (var messageData in messageDataList)
{
var deviceData = deviceListData.FirstOrDefault(t => Convert.ToInt32(t.Id.ToString()) == messageData.Id);
messageData.Id = deviceData?.Id ?? 0;
}
MessageDataRepository _messageDataRepository = new MessageDataRepository(new IoTSimulatordbContext());
_messageDataRepository.InsertMessageDataMultiple(messageData); // used AddRange
await _messageDataRepository.SaveAsync();
}
Теперь я пытаюсь сделать то же самое в функции Azure или приложении логики.Что будет лучше и быстрее, если записи будут в тысячах?
Как добиться замены логики FK в этом случае?