1

我通常使用 MySql,但也使用 SQL Server、Oracle 和 Access,数据库结构几乎相同。我的数据库存储 SCADA 应用程序的配置和记录数据(“监控和数据采集”)。大多数表格通常是相同的,但有时我的队友会添加字段、表格或更改某些字段类型。

我正在编写一个应用程序,它需要从 db 加载一些配置参数,然后加载数据、处理它并将新值存储在 db 上。它还需要添加新记录。

我有一个类,独立于 db 类型,给定正确的连接参数,获取一个IDbConnection对象。使用一些方法,我可以指定一个 SQL 查询,它给我 and IDataReaderor a also Dataset.

现在,我应该如何从数据库中查询数据、分析、重新计算并最终再次存储它们?由于可能更改字段,我有点害怕构建详细的对象映射。一个简单的数据集/数据表/数据行应该没问题,但我想使用 linq 以更简单的方式查询从数据库中提取的数据。

最后,我的数据库有大约 60 个表,但在这个应用程序中,我只使用了十几个表。我只有很少的时间来构建那个应用程序,所以我需要一个快速的方法,即使它不是“非常漂亮”。

谢谢。

4

2 回答 2

0

您应该尝试根据架构自动配置自身的 ORM

我找到了这个。我没有在 c# 中使用类似的东西,但它在其他(动态)语言中运行良好。
http://www.codeproject.com/Articles/117666/Kerosene-ORM

于 2013-06-04T08:53:13.220 回答
0

使用 ORM 很可能是最快的。您可以使用具有多个 DB 支持的NHibernate。NHibernate 确实有一个学习曲线,所以像微型 ORM 这样的东西可能更容易使用。Petapoco是一个很棒的微型 ORM,支持 SQL Server、SQL Server CE、MySQL、PostgreSQL 和 Oracle。

这些 ORM 将为您使用的每个数据库创建一个映射文件,当在数据库中进行更改时需要更新或重新创建该文件。

于 2013-06-04T09:02:22.823 回答