Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您建议在C#(.NET)应用程序中使用哪个数据库?_C#_.net_Database_Local - Fatal编程技术网

您建议在C#(.NET)应用程序中使用哪个数据库?

您建议在C#(.NET)应用程序中使用哪个数据库?,c#,.net,database,local,C#,.net,Database,Local,我正在制定一个小项目计划,我需要决定使用哪个本地数据库系统 输入数据将存储在Web服务器(hosting-MySQL-DB)上。其思想是构建一个过程来下载所有必要的数据(例如在午夜)并对其进行处理。但是,将有许多输入和处理阶段,因此我需要使用某种本地数据库来存储应用程序的半成品 您建议使用什么本地数据库系统来处理C#(.NET)应用程序 编辑:最终产品(信息)应该可以很容易地导出回托管MySQL数据库 正如Will在回答中提到的-是的,我希望性能和使用舒适。MS SQL Server支持开箱即用

我正在制定一个小项目计划,我需要决定使用哪个本地数据库系统

输入数据将存储在Web服务器(hosting-MySQL-DB)上。其思想是构建一个过程来下载所有必要的数据(例如在午夜)并对其进行处理。但是,将有许多输入和处理阶段,因此我需要使用某种本地数据库来存储应用程序的半成品

您建议使用什么本地数据库系统来处理C#(.NET)应用程序

编辑:最终产品(信息)应该可以很容易地导出回托管MySQL数据库


正如Will在回答中提到的-是的,我希望性能和使用舒适。

MS SQL Server支持开箱即用,无需任何其他驱动程序或设置。此外,MS SQL Server Express是免费的


您可以生成将数据导出到MySQL或从MySQL导出数据的脚本。

我想说的是Microsoft Sql 2005 Express,因为它(几乎)是在.NET中开发时的首选


但这一切都取决于你以前的数据库技能。如果您已经知道MySql,并且如您所说,那么应该将数据导出回MySql。为什么不一直使用MySql呢?

为了快速和肮脏,我会使用Sql Server的进程内实现,这样就不需要安装任何其他应用程序

以前,你会用Access数据库来做这类事情。但是访问数据库是一种打击

将完成的数据上传回生产服务器并不需要太多时间。如果您正在寻找一个自动化该过程的解决方案,那么您可能需要考虑在本地托管MySql实例,并使用它提供的任何复制服务

显而易见的选择是MS SQL Server Express。VS和.net都在本机上支持它,如果您已经使用过它(对于主DB),我肯定会坚持使用它(或它的快速版本)

但这肯定不是你选择的终点。我经常在跨平台应用程序和web应用程序中使用SQLite。它的速度快得惊人,而且通过它集成得非常好——尽管不如MS SQL Server那么紧密


还有一个精简版的SQL Server,与SQLite相比非常好。

对于您所描述的,肯定是MS SQL Server。性能好,工具好。免费。

使用db4o怎么样?它是一个可以嵌入到应用程序中的OODB。也支持。 编辑:作为旁注-在我当前使用db4o的pet项目中,我有一行代码(C#3.5):

IList list=Persistence.Database.Query(u=>u.Name==“Admin”);

使用强类型lambda表达式从数据库中获取对象的(惰性)列表。它还使用索引快速检索列表。

我不知道有哪种进程内数据库与MySQL完全语法和类型兼容。考虑到这一点,您有三种选择:

  • 选择类似SQLlite、Access或SQL Server Compact的内容。问题是,您最终将使用其中任何一个编写一些复杂的转换逻辑,并且必须将所有查询编写两次
  • 在本地安装MySQL。然后,您必须忍受在本地系统上运行完整的数据库服务器。您肯定希望避免将任何东西发送给客户,但对于您自己的使用,它可能是好的。幸运的是,MySQL不像其他一些现代数据库服务器那样使用大量资源,但这仍然不够理想
  • 在服务器上切换到SQL Server Express edition,在客户端使用SQL Server Compact。它和MySQL一样便宜(可能更便宜,因为你应该购买MySQL用于任何商业用途)。考虑到您在客户端使用C#,您可能还希望在服务器端将其与ASP.Net一起使用。如果您使用的是ASP.Net服务器端,那么不难找到一台提供SQL server Express的主机。现在,您的数据库是类型兼容的,并且您为客户机编写的任何查询都保证也适用于您的服务器

  • 在我看来,MS数据库栈(不包括access)的一大优势是,无论您在做什么,从桌面到多数据中心集群,它们都有一个兼容的解决方案。如果您的应用程序的规模发生变化,或者您需要在两个不同类别的应用程序之间传送数据,您的数据库层将得到处理。

    我建议使用Sql Server Compact Edition。它与SQL Server的完整版本非常相似,VS2008内置了对设计表、查询等的支持(Management Studio 2008也支持它)。最大的缺点是您失去了存储过程,但好处是不需要在本地用户计算机上安装任何东西,而且选择数据的速度非常快。更酷的是,使用SQL Metal,您可以创建一个DBML文件并使用LINQ,就像使用SQL Server一样。

    选择任何可用的,但只针对接口编写代码,这样您就可以轻松地在它们之间切换

    对于生产,我认为MS SQL适用于大型项目(或者express适用于中级项目),这仅仅是因为它与VS和Sqlite紧密集成,适用于小型项目


    根据描述,我认为Sqlite将是一个不错的选择,因为它是最简单/最低的开销。

    我最近一直在做一些测试,尽管我也推荐SQL Server 2005(如果需要的话,也推荐Express),因为尽管SQL Server 2008现在是新的RTM,但它是现成的。

    正如大多数人提到的那样,SQL Server。。。我的理由是,您可以使用源代码管理将测试用例从C#集成到数据库


    Team Foundation(TFS)是微软与GUI…p> 因为这已经得到了回答。我必须提到,在使用CLR语言时,CLR/.NET Framework集成设置MS SQL

    IList<Users> list = Persistence.Database.Query<Users>(u => u.Name == "Admin");