Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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# 你对这个项目有什么建议?_C#_.net_Client - Fatal编程技术网

C# 你对这个项目有什么建议?

C# 你对这个项目有什么建议?,c#,.net,client,C#,.net,Client,我有一个在Windows平台上使用C#创建应用程序的方法 通常我所做的所有工作都是在一台机器上完成的:它有VisualStudio2010、MicrosoftSQLServer和一系列其他工具 例如,如果我使用实体框架,我知道它会工作,因为我安装了一个SQL引擎 下面是我的问题和问题的要点: 您将使用什么来保存信息?该软件将出售给不同的第三方公司,我无法想象公司之间会安装SQL Server,然后是表,然后,最后它会工作。它需要的只是工作™ 我需要能够搜索“记录”;通过日期、ID、姓名、位置等,

我有一个在Windows平台上使用C#创建应用程序的方法

通常我所做的所有工作都是在一台机器上完成的:它有VisualStudio2010、MicrosoftSQLServer和一系列其他工具

例如,如果我使用实体框架,我知道它会工作,因为我安装了一个SQL引擎

下面是我的问题和问题的要点:

  • 您将使用什么来保存信息?该软件将出售给不同的第三方公司,我无法想象公司之间会安装SQL Server,然后是表,然后,最后它会工作。它需要的只是工作™

  • 我需要能够搜索“记录”;通过日期、ID、姓名、位置等,使用SQL将非常容易,但我回到数字1的问题上来

  • 我确信我错过了每个开发人员在某个时候学到的东西,所以提前感谢您的指导

    编辑:错过了问题最重要的部分,项目是什么?

    基本上,它保存收据中的信息,然后您可以扫描收据(我将使用Office API),并将该扫描与前面输入的条目相关联。所以应该是ID、姓名、金额、扫描图像。简而言之

    编辑2:另一个重要信息:


    这将只有一个并发用户,无论我使用什么持久性工具,它都必须能够保存大量信息。我真的不知道带专业图像的纯文本会占用多少空间,但我宁愿有更多的空间,也不想有更多的空间。

    您可以自动安装sql server express edition,并在安装时以编程方式设置sql数据库。这是惯例

    如果您不需要SQL server的所有功能,请使用SQL compact edition。这是更简单的安装,但不是多用户等

    SQLite也很酷

    SQL express限制为4gb。因此,另一种常见的策略是默认执行sql express安装和数据库设置,但允许用户选择现有的sql server安装,然后您只需设置数据库(使用相同的设置代码)


    您应该告诉我们您可以查看多少数据、多少用户等。它是可移植的,不需要安装任何东西,并且受通用ORM的支持。

    有了您提供的所有详细信息,嵌入式数据库将是最好的解决方案,请继续。

    如果您准备查看SQL square之外的内容,您可能希望查看以文档为中心的数据库,例如或

    祝贺你能独立出去。

    我已经在几个项目中使用过。它可以被xcopy部署,如果需要更改,也可以成为一个不错的服务器。如果需要,它可以在Linux和MacOSX上运行(在.Net实现中使用Mono)


    这只是提供了一个额外的选择。SQLite看起来也是一个不错的选择。

    我要冒一个疯狂的风险,提出一个完全荒谬的建议

    您是否认真考虑过将XML作为您的数据存储?LINQtoXML使查询这些内容变得很简单,而且性能很高。不需要额外的安装来支持它。它满足了你的需求,它只是工作™ 要求这就留下了磁盘空间问题

    然而,磁盘空间很便宜。而且,由于额外的软件安装将节省空间,您可能不会像您想象的那样担心太多

    这是一个值得考虑(或重新考虑)的选择


    如果你使用.net,我认为最简单的方法是建立一个Sql Server Compact数据库,它是一种sqlite,但由microsoft制造,易于集成到VS.net

    下面是从网站上免费下载的描述粘贴

    用于构建客户端应用程序的嵌入式数据库

    Microsoft SQL Server Compact是一款免费的SQL Server嵌入式数据库,非常适合为移动设备、台式机和Web客户端构建独立且偶尔连接的应用程序

    顶级功能

    • 免费使用和分发
    • 支持台式机和移动设备
    • 占地面积小,易于部署
    • 完全嵌入式体系结构
    • 无需行政管理
    • 单一文件、无代码数据库格式
    • 支持ClickOnce、XCopy、MSI、CAB和非管理员嵌入式安装选项
    • 支持所有Microsoft Windows嵌入式、移动、桌面和服务器操作系统
    • 支持Transact-SQL语法和SQL Server数据类型的丰富子集
    • Microsoft Visual Studio 2008集成
    • 支持ADO.NET、LINQ到SQL、LINQ到实体以及ADO.NET实体框架
    • 支持多个并发本地连接

    如果内存可用,SQL Express也有大小限制(每个数据库大约2GB)。SQL Server是一款非常棒的软件。但是SQLServerCE是一个巨大的垃圾。远离。SQL Express 2008 R2仅限于10GBSQL Server Express在安装过程中可能比SQLite更痛苦,因为它使用有趣的东西,如服务。使用SQLite,客户端无法让软件工作的频率可能会低得多。他需要告诉我们规模和范围需求。SQLite不能满足某些需求(真正的客户机-服务器)。我同意如果SQLite足够好,那么就使用它。顺便说一句,SQL express有一个伟大的无痛安装程序,它可以正常工作(并且可以嵌入到其他MSI中),我们一直在使用它+1用于SQLite。这是一个简单得可笑的兼容ACID的DbYeap,已经被Skype和Google Chrome浏览器等使用。如果您已经知道如何使用MS SQL,那么了解SQLite应该非常容易。安装只需在项目中包含一个dll,然后