我正在使用.NET中的C#开发一个小应用程序,我希望有一个小型轻量级数据库,它不会占用太多资源.
能否列出一些最知名的轻量级数据库软件.
我使用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.dll中,而不是依赖于通过反射自动加载.
我正在根据我的要求评估SQLite数据库.SQLIte是否支持商店程序?如果是,那么有什么限制?SLIte是否支持该范围?谢谢Saurabh
我正在从带有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秒。