1

我需要将使用 ADO 访问 JET 数据库的 SMALL VB6 应用程序更新(好吧,真的重写)到 Visual Studio 2008 中的 vb.net 应用程序。

我的研究表明我应该使用 LINQ,但似乎无法连接到 JET。如果现在不推荐使用 JET,我应该使用什么?或者我应该在没有 LINQ 的情况下使用 ADO.NET?

请不要回答 SQL Server!- 这需要是最终用户可以在公司或非公司环境中轻松安装的应用程序,并且不得需要任何持续的技术维护。我开始安装 SQL Express,但当它需要至少 2 次系统更新时就停止了,因为这对于这个小应用程序来说太复杂了。

4

4 回答 4

1

Jet 已被弃用,但有一个 ACE(Access Database Engine)形式的替代品。

但是,关于从 LINQ 使用它。这个问题的答案有各种建议,我也在某处读过它可能会LINQ to DataSet用来做它。这是一篇关于它的博客文章:Querying DataSets – Introduction to LINQ to DataSet但我找不到指向我读到有人成功使用它访问 Access DB 的链接。

不过,我建议,如果没有明确的解决方案来使用 LINQ,务实的方法是坚持使用普通的 ADO.Net 并等待使用 LINQ,直到您确定您使用的数据源支持它完全。

于 2010-07-22T10:02:57.737 回答
1

如果您的项目包含少于 10000 行代码,这是一个很好的免费升级工具:http:
//msdn.microsoft.com/en-us/vbasic/ff793478.aspx

您应该遵循的一般方法是首先从 VB6 到 VB.NET 的干净迁移,并让 .NET 版本完全像在 VB6 中那样工作,然后开始在 .NET 中寻找替代技术。当您有一个工作的 .NET 应用程序时,在不同技术之间进行转换比手动尝试直接从 VB6 代码转换为 .NET 中的替代方案更容易。

以下是首先迁移而不是手动重写的一些充分理由:
选择自动迁移与手动重写的 5 个神话破灭原因

来自文章:

即使在最坏的情况下,您仍然需要在自动迁移阶段之后重写应用程序的某个部分,最终结果将始终是总成本和时间的一小部分。

于 2010-07-22T10:08:54.817 回答
0

只需使用OleDbConnection//对象来模仿您在 VB6/ADO 代码中的相同逻辑OleDbCommandOleDbDataReader它将以相同的方式工作,并且不需要比现有应用程序更多的依赖项。

于 2010-07-22T11:00:25.210 回答