繁体   English   中英

使用实体框架移动和比较来自不同数据库的数据

[英]Moving and comparing data from different database using entity framework

我需要每天将一些数据从一台服务器上的Sql Server数据库移动到另一台服务器上的另一台Sql Server数据库中。 我对原始服务器具有完全的读取访问权限。 从目的数据库中提取数据来处理会计系统的某些转换。 我必须转换数据并将存储过程用于目标数据库。 将我的数据加载到目标数据库后,将触发转换并更改/移动我的数据。

我们只希望将数据更改发送到目标数据库,因此我们打算在发送任何内容之前使用临时数据库对其进行比较(在其他sql服务器上)。

我们当时正在考虑使用Entity Framework进行读取和缓存,但是我担心这会涉及到我们创建两个不同的模型并在保存之前对它们进行比较。 这将是一件痛苦的事情,但是它将使我们能够将数据作为对象进行转换/修改,并将大大简化我们的业务逻辑。

是否建议对此部分使用单独的过程或继续使用两个不同的数据模型?

为了简化:

  1. 在数据库之间加载/比较数据
  2. 用新数据更新临时数据库
  3. 设置标志
  4. 使用实体框架将设置为true的标志加载到临时数据库中的所有对象
  5. 根据业务逻辑转换/修改临时对象
  6. 使用存储过程发送到目的地

要么

  1. 使用实体框架从原始数据库加载数据
  2. 使用实体框架从临时数据库加载数据
  3. 相比
  4. 使用新数据更新临时对象
  5. 根据业务逻辑转换/修改临时对象
  6. 使用存储过程发送到目的地

如果选择第一个选项,是否值得我再花时间使用实体框架? 我是否在考虑这个问题,并且完全有更好的办法解决这个问题?

1:创建2个数据库上下文模型。 假设datacontext1和datacontext2。

2:创建一个dto(数据传输对象),它与从datacontext1传输到datacontext2的表非常相似。

3:使用自动映射器将datacontext1的属性映射到所创建的dto,以及将datacontext2映射到dto。

4:运行具有“ public dto readdata(table1)”和“ public void savedata(dto)”功能的使用服务层

5:从dbcontext1读取数据并将其保存到dbcontext2

这样,如果database1或database2中发生任何更改,则很容易处理更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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