gpt4 book ai didi

具有不同数据库的C#项目,以不同​​格式存储相同数据

转载 作者:太空狗 更新时间:2023-10-30 02:00:42 26 4
gpt4 key购买 nike

好吧,标题很长,但我的问题在这里:

我有大约 10-12 个不同的对象,我必须在我的软件中使用它们。这很简单,我只是创建类并做任何我想做的事。但是,所有这些代表数据库行和主要问题的类——我的软件必须能够从/向不同的数据库(oracle、mysql、interbase、postgres、firebird)读取/写入这些对象。对象存储在不同的数据库中,甚至存储在不同字段(名称和类型)的不同表中[以及所有这些,导致该数据库在它们之间不同步]。

所以我在编写代码来提供所有工作时遇到了麻烦:假设它大约是 5 个数据库 * 10 个对象 = 50 个类,以及 future 的扩展......

谁能告诉我正确的方法、最佳实践以及如何构建它?

最佳答案

首先,编写您的类来包装对不同数据库的所有这些调用。您可能会使用数据库提供的数据提供程序来连接每个数据提供程序。

此驱动程序使用 ado.net 提供了一系列与数据库一起工作的类。在包装类上使用此类,以导入/导出数据。通常这个数据提供者有办法将数据库类型映射到 .net clr 类型。

并且,你必须发现每个数据库的关键点,例如:有问题的数据库存储表、表字段、索引、键的信息的位置..

编辑:

  • 读取数据库中存储他信息的表和该表的字段信息(字段名、类型、长度等)
  • 在您将编写的用于存储此表信息的此类中,也创建一个用于存储 clr 类型的字段(如我之前所说,此数据提供程序提供了一种将数据库类型映射到 .net clr 类型的方法)<
  • 好的,现在您有了表信息,尊重每个数据库的特性。

现在,您可以开始导入/导出操作了。

例如,假设您正在从oracle读取并写入sql。

  • 您阅读了该表的表信息。
  • 从表中读取数据(选择)并存储在数据表中
  • 现在,您所要做的就是插入 sql 表,当然,使用从 oracle 读取的数据。
  • 还记得你得到的关于 table 的信息吗?您需要尊重每个数据库的类型映射。

参见:

http://technet.microsoft.com/en-us/library/ms151817.aspx

关于具有不同数据库的C#项目,以不同​​格式存储相同数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18465858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com