Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.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# SQLite在VS 2012中的表现_C#_.net_Database_Entity Framework_Sqlite - Fatal编程技术网

C# SQLite在VS 2012中的表现

C# SQLite在VS 2012中的表现,c#,.net,database,entity-framework,sqlite,C#,.net,Database,Entity Framework,Sqlite,好吧,我花了太多时间在这上面:) 我需要在不使用完整数据库服务器的情况下,在windows上的会话之间持久保存小的(1000以下)项集合。项是具有十几个字符串属性的简单对象。 数据库/集合/任何内容都应该存储在一个文件中,该文件可以在运行时通过代码创建 从SQLServerCE开始,然后切换到SQLite,但现在我被告知实体是一种方式。 我不介意学习实体,但对于一个简单的存储来说,似乎开销太大了 我该怎么办?(如果仍有人对windows小型数据库进行编码) 直接通过命令删除实体并访问SQLite

好吧,我花了太多时间在这上面:)

我需要在不使用完整数据库服务器的情况下,在windows上的会话之间持久保存小的(1000以下)项集合。项是具有十几个字符串属性的简单对象。 数据库/集合/任何内容都应该存储在一个文件中,该文件可以在运行时通过代码创建

从SQLServerCE开始,然后切换到SQLite,但现在我被告知实体是一种方式。 我不介意学习实体,但对于一个简单的存储来说,似乎开销太大了

我该怎么办?(如果仍有人对windows小型数据库进行编码)

  • 直接通过命令删除实体并访问SQLite
  • 将实体与SQLite一起使用(希望链接以正确的方式在运行时创建数据库)
  • 抛弃数据库的整个概念(我把这个放进去是因为,以前,每本书都有关于数据库的章节,现在我没有一本书提到它。互联网上也没有太多新东西,所以人们可能会转向其他概念)

  • 谢谢。

    我会在SQL CE中使用数据上下文,这完全取决于您描述的工作

    唯一的问题是,您只能在本地C:驱动器上备份它。所以如果那张磁盘死了,你就会失去它

    您无需转移到实体来完成所需的工作

    如果它真的成为了你想要多址访问的东西,你就必须重新思考这个问题


    希望这有帮助。

    听起来像结构化文本数据——十几个左右的字符串属性

    我会使用XML


    事实上,我正走着与您相同的道路[VS2012/WPF4],我发现Dapper+Sqlite的组合适合我。
    System.Data.SQLite
    的设计时支持在2012年11月之前无法就绪,因此EF5将从我的选项中删除。
    检查是否整洁:
    这扩展了
    IDbConnection
    ,您只需要打开到所需数据库的连接


    编辑:使用Dapper,我无法自动化数据绑定…

    您的数据库需要多个用户使用吗?对不起,忘记了:)不,它是单用户数据库。在不需要数据安全的简单情况下,我也会选择XML;但如果您需要这些记录的安全性,最好使用具有密码加密功能的文件数据库;e、 SQLite、SqlCe甚至MS Access@阿喀琉斯没有提到敏感数据。用户特别要求提供不使用数据库的选项。任何本地硬盘驱动器上的数据都可以被黑客攻击——这会使它们慢下来,停止奇怪的编辑。我试图给OP一些建议,并在选择数据存储时考虑一下。还有一些使用AES加密SQLite数据库的方法,这使得黑客很难入侵。