我是一家非IT组织中唯一的.NET开发人员。 我被要求使用Microsoft Access作为后端(现有数据库)开发.NET应用程序。
我不知道从哪里开始。
由于我是独自开发,开发过程中应该注意避免什么? 独立开发者会面临哪些情况?
请在您的答案中包含Microsoft Access特定的建议,因为这与问题相关。
我是一家非IT组织中唯一的.NET开发人员。 我被要求使用Microsoft Access作为后端(现有数据库)开发.NET应用程序。
我不知道从哪里开始。
由于我是独自开发,开发过程中应该注意避免什么? 独立开发者会面临哪些情况?
请在您的答案中包含Microsoft Access特定的建议,因为这与问题相关。
从哪里开始?
EDIT3: 为了报告目的,选择一个报告技术。这里有很多可能性,取决于您的需求,技能和/或预算,例如
当你在Google中搜索"report generation .net"时,你会找到很多有用的链接,例如这个。
最后,当你遇到问题时,请回到SO并提出更具体的问题。
根据组织中已有的代码可能会有其他限制。我建议避免使用像F#
、WPF或Linq to Entities这样的技术。
设计考虑:
现有的MS Access数据库中是否已经存在一些用户表单和代码模块?如果是,您可以将其用作应用程序的基础 - MS Access使用Visual Basic for Applications(VBA)作为其编程语言,我不知道有任何工具/实用程序可以将VBA移植到VB.Net
是否存在类似的应用程序可以帮助您了解设计?
尽可能将数据访问代码从表单中分离出来 - 尝试将数据访问代码放在一个单独的类/DLL中,以便更容易维护
遵循您或之前其他人制定的内部指南。
考虑可维护性 - 之后的某个人可能需要进行更改。在代码中使用注释,并为您的对象(表单/变量/函数名称)赋予明智的名称
定期备份您的代码 - 每天将副本放在网络驱动器或USB驱动器上
一个建议是将所有与Access相关的代码封装在一个类中。这个类至少应该能够:
OleDbConnection
对象。
using
块中是一个很好的主意。如果您已经熟悉.NET语言和MS Access,那么我的建议是先开发一个非常简单的MS Access数据库,并编写一个小的.NET控制台应用程序,连接到该数据库并执行一些基本功能,例如查询/插入/删除/更新。然后就可以逐步构建在这个基础上,引入GUIs/分离的库(dlls)等。
不幸的是,对于您来说,.NET的Linq to SQL(ORM)不支持MS Access数据库,因此您将不得不从头开始开发业务对象(这并不总是坏事!)。
这里有一个很好的起点使用C#的MS应用程序。
如果要访问Access数据库,您可以尝试使用NHibernate。据我所知,它支持Microsoft Access,如果您将数据移动到其他类型的数据库中,使用这样的库可能会使事情变得更加容易。
这里有很多好的建议,我想要补充的是一定要在一个明确定义的接口后面构建所有数据访问和修改类。我相信总会有这样的时候,当这个应用程序超出了 MS Access 的范围,拥有明确定义的接口将使升级到另一个数据库更容易。