相关疑难解决方法(0)

对于小型.NET应用程序,什么是数据库的良好选择?

我正在使用.NET中的C#开发一个小应用程序,我希望有一个小型轻量级数据库,它不会占用太多资源.

能否列出一些最知名的轻量级数据库软件.

database sqlite vistadb mongodb eloquera

177
推荐指数
6
解决办法
7万
查看次数

创建存储过程和SQLite?

在使用SQLite时,是否可以以某种方式创建存储过程?

sqlite stored-procedures

167
推荐指数
5
解决办法
15万
查看次数

SQLite.net SQLiteFunction在Linq to SQL中不起作用

我使用System.Data.SQLite.SQLiteFunction在C#中创建了一些自定义SQLite函数.当使用SQLiteDataAdapter执行查询时,它工作得很好,但它不起作用,但是,当使用Linq to SQL时,我会收到错误,指出该函数不存在.

我想底线是,如何让Custom SQLiteFunctions在Linq to SQL中工作?要么让它们加载它们应该的方式,要么通过修改SQLite.Net的源代码使它们成为dll的一部分?

注意:我理解实体框架是首选,这是遗留应用程序,我没有选项来更改它.我尝试手动将函数绑定到DataContext.Connection,没有骰子.


关于尝试修改System.Data.SQLite的背景:我尝试下载源代码,我可以从源代码成功构建,但源代码对我来说有点令人费解.

  • 在System.Data.SQLite.2012项目中,项目中不包含任何文件,但所有源文件都存在于实际文件夹中.它们似乎包含在名为System.Data.SQLite.Files.targets的文件中的解决方案中.这对我来说是一个奇怪的设置.
  • 我将自定义函数添加到项目文件夹中,但没有将它们包含在项目中,就像所有其他文件一样.然后我将它们添加到System.Data.SQLite.Files.targets中.
  • 我构建了解决方案,它们确实出现在程序集中.虽然我似乎可以将文件添加到程序集和构建中,但修改现有代码似乎没有任何影响.
  • 我进入了SQLiteConnection类并在Open方法中添加了一个新的Exception,我在关键位置添加了Console.Writeline,我在现有代码中修改的任何东西似乎都没有进入已编译的程序集.

这样做的目的是尝试将我的自定义函数构建到System.Data.SQLite.dll中,而不是依赖于通过反射自动加载.

c# sqlite system.data.sqlite linq-to-sql

12
推荐指数
1
解决办法
5676
查看次数

SQLite是否支持存储过程

我正在根据我的要求评估SQLite数据库.SQLIte是否支持商店程序?如果是,那么有什么限制?SLIte是否支持该范围?谢谢Saurabh

sqlite stored-procedures

11
推荐指数
3
解决办法
4万
查看次数

使用EF Core FAST读取数千个对象

我正在从带有EF核心的SQLite读取40,000个小对象/行,这花了18秒,对于我的UWP应用来说太长了。发生这种情况时,单个内核上的CPU使用率达到100%,但是磁盘读取速度约为1%。

var dataPoints =  _db.DataPoints.AsNoTracking().ToArray();
Run Code Online (Sandbox Code Playgroud)

没有AsNoTracking()时间就更长了。

DataPoint是具有一些原始属性的小型POCO。我正在加载的数据总量为4.5 MB。

    public class DataPointDto
    {
        [Key]
        public ulong Id { get; set; }

        [Required]
        public DateTimeOffset TimeStamp { get; set; }

        [Required]
        public bool trueTime { get; set; }

        [Required]
        public double Value { get; set; }
   }
Run Code Online (Sandbox Code Playgroud)

问题:是否有更好的方法来装载这么多对象,还是我对这种性能水平感到困惑?

有趣的事实: x86花费11秒,x64花费18。“优化代码”节省了一秒钟。使用Async将执行时间推至30秒。

.net c# asp.net sqlite entity-framework-core

4
推荐指数
1
解决办法
1017
查看次数