我有一个 C# Windows 窗体应用程序,其原型是在 SQL Server(强类型数据集)上创建的。在其最终版本中,应用程序必须能够在 SQL Server、MySQL 或 Oracle 上运行。
现在我想知道原型中的哪些部分(如果有)可以重复使用。
1. 数据集(类型化) ?
2.表适配器? (可能不是,它们包含 SQL Server 特定的语法)
3. 绑定到 DataGridView
最重要的是,如果我们需要重新实现这一切,有没有办法在设计时做到这一点?或者,
1.我们是否需要以编程方式创建非类型化数据集?
2.我们是否需要以编程方式创建其数据适配器(或表适配器)?如果是,两者中的哪一个?
3.我们是否需要以编程方式创建其与界面的datagridviews的绑定?
也许无关紧要:如果我们从现有的数据库模式创建一个实体模型(据我所知它提供了数据库独立性),我们可以使用它以某种方式创建到我们的 datagridviews 的绑定吗?
谢谢你!
那么,为了保留我们的 Bindings 和 dataGridViews,以及我们已经实现的一些额外逻辑,我们是否应该扔掉所有生成的 TableAdapter 并手动编写它们?如果我们确实扔掉它们,我们应该使用 DataAdapter 来代替吗?
这是一种“按书本”的方法吗?有人做过这样的事吗?
更一般地说,如果您需要创建一个表单应用程序以在多个数据库中工作,您会这样做吗:A. 使用非类型化数据集、数据适配器/表适配器和手动创建的绑定 B. 以某种方式生成独立于供应商的数据集和数据适配器/表适配器(如何?)并在设计时通过 VS gui C 绑定它们。其他方式???
UPDATE:
那么,为了保留我们的 Bindings 和 dataGridViews,以及我们已经实现的一些额外逻辑,我们是否应该扔掉所有生成的 TableAdapter 并手动编写它们?如果我们确实扔掉它们,我们应该使用 DataAdapter 来代替吗?
这是一种“按书本”的方法吗?有人做过这样的事吗?
更一般地说,如果您需要创建一个表单应用程序以在多个数据库中工作,您会这样做吗:A. 使用非类型化数据集、数据适配器/表适配器和手动创建的绑定 B. 以某种方式生成独立于供应商的数据集和数据适配器/表适配器(如何?)并在设计时通过 VS gui C 绑定它们。其他方式???
- 类型化数据集/表是独立于数据库的。 (但是,如果您在设计器中添加适配器,它们将获得特定于数据库的适配器。不要使用设计器中的适配器
- 适配器ARE NOT数据库独立。
- 数据绑定是独立于数据库的。但要注意拖放数据绑定会自动添加适配器
我的建议:
- 从数据集中删除适配器
设计师
- 使用带有获取/填充方法的简单类重写您自己的存储库/适配器
表。因此您可以使用它们而不是生成的适配器。这些类可以是特定于数据库的。例如 PersonRepositorySqlServer、PersonRepositoryMySql。或者,也许您可以为 db 类型提供构造函数以尽可能地重用 SQL。
- 如果您在表单上使用了适配器,
将它们移至.手动编码填充
数据集的
我总是做什么来回答其余的问题
- 我使用类型化数据集,但我只制作表格而不是适配器
- 我通常对数据绑定进行编码,因为有时设计者会搞砸,但这不一定是独立于数据库的
- 我编写自己的存储库,使用适配器来填充/获取/更新数据表。然而
我用手对它们进行编码。给定一个类型化的数据表,自动生成更新/插入/删除/填充语句是相当容易的。
重写适配器看起来很难,但实际上是相当可行的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)