【发布时间】:2019-01-27 17:41:47
【问题描述】:
我有一个 ASP.NET MVC 应用程序,我目前正在将数据保存到 SQL Server 数据库中。
但我想让它松散耦合,这就是为什么我想将此代码取出到 Azure 函数或逻辑应用程序中以保存数据。
目前我在 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 函数或逻辑应用程序中执行相同的操作。如果记录数以千计,哪个会更好更快?
这种情况下如何实现替换外键逻辑?
【问题讨论】:
-
我不确定我是否完全理解你所问的问题......显然,没有什么能阻止你在 Azure 函数或逻辑应用程序中运行现有的。主要问题是否与如何让多个独立的 Azure Function 实例能够保存可能相关的数据(设备 - 消息)有关?
-
是的,我正在考虑创建一个 http 触发 azure 函数,我将从 mvc 应用程序触发并将设备数据和消息数据传递给该 azure 函数,我将执行存储过程以插入设备表数据和消息表数据,这有意义吗?
-
可能值得考虑的是拥有一堆 Azure Functions 作为存储所有者(SQL 或其他东西)的微服务......这包括保存部分以及检索部分...
-
任何实现链接,你可以提供一个很好的开始谢谢:)
标签: c# azure azure-sql-database azure-functions azure-logic-apps