C# 谁更适合构建数据层强类型数据集或类

C# 谁更适合构建数据层强类型数据集或类,c#,.net,vb.net,C#,.net,Vb.net,我曾经使用类来构建数据层,但是有人建议使用强类型数据集,因为它的开发速度更快。我将要构建的数据层应该支持多DBMS(Oracle、MSSQL、MySQL..) 如何更好地使用强类型数据集或类来构建它 我使用强类型数据集制作了几个大型商业应用程序。(适用于Oracle和MSSQL) 我喜欢使用强类型数据集,下次我还会这样做。 我认为C#和VB.NET代码中的列是强类型的,这是一个很大的帮助。 但是请注意,您可能需要为fill创建自己的函数,有时还需要为Update创建自己的函数。(基于where条

我曾经使用类来构建数据层,但是有人建议使用强类型数据集,因为它的开发速度更快。我将要构建的数据层应该支持多DBMS(Oracle、MSSQL、MySQL..)


如何更好地使用强类型数据集或类来构建它

我使用强类型数据集制作了几个大型商业应用程序。(适用于Oracle和MSSQL)

我喜欢使用强类型数据集,下次我还会这样做。 我认为C#和VB.NET代码中的列是强类型的,这是一个很大的帮助。 但是请注意,您可能需要为fill创建自己的函数,有时还需要为Update创建自己的函数。(基于where条款) 对于Oracle,我使用System.Data.OracleClient(我发现这一个最适合我)

请注意,对于Oracle,所有数字都转换为十进制。(不适用于ID列)
当您在TableAdapter中更改SQL字符串时,它将覆盖从Decimal到Int32的更改。这可能很烦人,但当你习惯了,这不是一个大问题

我把它放在一个数据库表中,这样当业务内容(表或字段)发生变化时,就不必重新编译代码了


然而,这是一种根本不同的方法。它在内部使用动态SQL(不基于任何用户输入),这让一些人感到紧张。

我的首选是使用诸如CSLA之类的体系结构实现业务逻辑类。数据访问逻辑可以包含在相同的类中,也可以分解为单独的类或数据集。将数据集用于业务逻辑并将其直接绑定到UI是相当有限的。

为什么不使用实体框架?这是一个由支持多DBMS的数据库生成的类结构(),似乎仍然没有将Oracle连接到Microsoft camp提供的EF的解决方案,而且所有其他解决方案都是商业解决方案或测试,您无法在生产环境中使用强类型的数据集很好,但生成的TableAdapter很糟糕。。。除了更改app.config之外,没有简单的方法可以更改连接字符串,因此程序本身无法完成。它们总是为特定的DBMS生成,而不是使用通用代码:(