我正在尝试创建一个应用程序,它将利用数据库来编写日志并保存信息等。但是,我还没有能够围绕两者如何融合在一起的整体架构。我在整个过程中使用Visual Studio C#。
以下是我希望如何使用 - 我的公司有一个文件服务器,负责网络上的所有组策略以及公司中的每个人。我想要尝试做的是拥有一个存在于文件服务器/网络上的数据库,运行该应用程序的任何人都将使用该数据库。
申请要求 -
这就是我的困惑所在 - 截至目前,只是在试图解决问题,我有一个带有基于服务的数据库项的C#类库。我可以添加表等。不是问题。我的一般问题是整个两个程序的架构。
所以,我的问题的一个广泛版本是应该处理什么?
即。如果我希望我的应用程序向数据库添加一个新表,那将处理什么?应用程序或数据库?
我应该在包含db的类库中创建辅助函数,然后在我的应用程序中使用该类库来调用这些辅助函数吗?
答案 0 :(得分:1)
因为您的数据库将托管在网络上,我认为应该在数据库中完成数据库创建,表创建,视图创建,存储过程创建等。应用程序应负责查询表或视图,以及插入和删除相应表中的行。
应用程序创建表和视图以及存储过程的唯一时间是您使用的是分布式数据库(随应用程序一起分发并在客户端计算机上运行的数据库)。由于客户端计算机上不存在数据库,因此必须先创建数据库结构,然后应用程序才能使用它。但是,这不是您的方案。您的数据库将托管在网络或共享驱动器上。
对于要使用的数据库引擎,我建议Microsoft SQL Server(不是免费的,但是是数据库服务器引擎中的领导者)或MySQL(GLP许可,适用于大多数情况)。
一旦你选择了数据库引擎,我建议你使用我的LayerGen 3.5。 LayerGen将根据您的数据库在C#或VB.Net中自动为您创建数据和业务层。它适用于Microsoft SQL Server,MySql,SQLite或MS Access。创建数据库后,它将根据您的表和字段创建代码,并创建允许您从应用程序轻松访问数据库的类。
祝你好运!答案 1 :(得分:0)
有几种方法可以解决这个问题。
1)您可以使用实体框架,它允许您在c#中创建模型,为您构建数据库(迁移)。开始使用它是相当复杂的,但这里是一个开始的好地方https://msdn.microsoft.com/en-us/data/jj193542.aspx
2)您可以通过编写自己的sql命令http://www.codeproject.com/Articles/837599/Using-Csharp-to-connect-to-and-query-from-a-SQL-da
我强烈鼓励1,因为它更容易维护