问题标签 [sqlite-net-extensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
187 浏览

c# - 稍后检索时保存的项目为空

我正在使用 Xamarin 和 C# 来制作跨平台应用程序。SQLite.Net 扩展正在用于本地数据库。用户表包含一个寄存器列表,如下所示:

当一个寄存器被创建时,它被添加到寄存器表中,然后添加到这个列表中,如下所示:

当我尝试通过用户对象访问寄存器列表时,它说该列表不包含任何元素。

我四处寻找解决方案,他们似乎提到了 SQLite UpdateWithChildren,但这种方法不是我的 SQLite Connection 或我的数据库中存在的方法。寄存器列表是ManyToMany关系,更新如何适应所有这些?

**编辑:**我现在有了更新方法,但是当它被击中时似乎出现异常。以下是我的“DatabaseManager”中将寄存器添加到用户列表的方法:

添加寄存器时出现以下异常,我认为链接类的代码(使用中间表)不需要由用户代码调用?

补充一下,我的中间表类如下所示:

**编辑:** 下面是注册类本身:

0 投票
0 回答
799 浏览

c# - SQLite.Net OrderBy 函数返回 Null 引用异常

平台:

在职的

我有一张桌子

突破性变化

但是,SQLite 返回DateTime's Kind asUnspecified并被视为 Local;我不得不更改表格以始终返回 UTC 时间(我还尝试了 DateTime.SpecifyKind(this.TimeStampStore , DateTimeKind.Utc),其中 TimeStampStore 是 DateTime 类型):

此更改破坏了以下内容:

堆栈跟踪:

在 SQLite.TableQuery'1.AddOrderBy[U](Expression'1 orderExpr, Boolean asc)

在 SQLite.TableQuery'1.OrderBy[U](Expression'1 orderExpr)

原因

经过一番调查,我发现 System.NullReferenceException 的原因是 in 上的点运算Table.FindColumnWithPropertyName(mem.Member.Name)SQLite.cs

是“propertyName时间戳”,但是

Columns[].PropertyName是“时间戳商店”

Columns[].Name是“时间戳”

并因此FindColumnWithPropertyName返回一个null

可能的修复

如果我更改 SQLite.cs 的AddOrderBy功能:

然后我的代码有效。

但我宁愿猜测我做错了什么,因为这段代码是由比我更有经验的人编写的(特别是因为我找不到相关的帖子

问题

我的设置有问题吗?我可以完美地读写,但这件事让我很头疼。

谢谢你。

编辑

我实施了可能的修复(更改功能AddOrderBy),解决了我的问题。

要使用SQLite.Net Extensions-PCL 1.3.0,我移至SQLite.Net PCL 3.1.1,它产生了完全相同的问题;

在 SQLite.Net.TableQuery1.AddOrderBy[TValue](Expression1 orderExpr, Boolean asc)

在 SQLite.Net.TableQuery1.OrderBy[TValue](Expression1 orderExpr)

但现在我无法应用我之前的修复,因为我不再看到 .cs 文件(现在是 .dll)。

有任何想法吗?

0 投票
0 回答
69 浏览

c# - 使用 sqlite-net windows phone 8.1 在中间表中插入外部数据

我花了很多时间尝试在一个表中插入信息,该表具有在 windows phone 8.1 中创建的多对多关系。既然我可以将信息自动插入到中间表中呢?我正在使用 sqlite-net 来处理表之间的关系,它们是我的实体

添加产品的功能和代码如下

使用 InsertWhithChildren 可以自动插入到中间表中,但我不能在应用程序中使用它。非常感谢有人在帮助自己,因为我尝试了 2 天,但我还没有看到任何互联网信息

我应该使用什么样的 sqlite 以及我应该使用哪个连接器 sqlite 和路径?

我需要在插入产品时将其自动插入表格详细信息中

0 投票
2 回答
8539 浏览

c# - SQLite Xamarin 中的一对多关系

我正在构建一个 Xamarin 移动应用程序,并且我有一组从 rest api 获得的产品。每个产品可以有 n 个图像。我已经使用 SQLite-Net Extensions 设置了表的关系。但是,当我将值插入数据库时​​,图像字段在产品表中的值为空,而图像表为空。

我的模特

我用来插入值的代码。

这就是我将json反序列化为对象的方式

如果有人可以帮助我确定我做错了什么,那就太好了。

0 投票
1 回答
3147 浏览

c# - 如何:SQLite-Net 扩展中的嵌套列表

如何:在 sqlite-net-extensions 中执行嵌套列表
找到答案:将问题作为如何执行的示例。
我遇到的问题与 sqlite-net-extensions 无关,但我将问题保留在上下文中。

[老问题] TwinCoders SQLite-net 扩展有问题。
我正在尝试将 Series 对象插入到我的数据库中:

我正在使用该Db.InsertWithChildren(SelectedSeriesObject,recursive:true)方法。
Series 对象与它的属性相应地添加。
所有剧集也都添加了,那里没有问题。

问题是BaseSeason。
它只会插入一个 Season 对象,它(由于某种原因)是 Series 中 Seasons 列表的最后一个 Season 对象

有没有人对 sqlite-net-extensions 中的嵌套关​​系有经验,知道如何进行这项工作或看看我做错了什么?

预期关系

0 投票
1 回答
1155 浏览

c# - Sqlite-net 扩展关系始终为空

我正在尝试使用 MvvmCross 4 中的扩展。我想做的很简单:我有两个具有一对多关系的表,并且想要访问它。

我有两个班,BusLineBusLineGroup。每条 BusLine 都有一个 Group 作为外键。我在代码中所做的是运行一个简单的 LINQ-Query 来获取所有总线:

查询本身有效,但如果我检查返回对象的字段,组总是null!。请参阅下面的类和表定义。

调试本地人

我究竟做错了什么?为什么总是组null?谢谢你的帮助。


代码中的类:


两张表:


已安装的 Nuget 包:

  • MvvmCross.Plugin.SQLitePCL
  • SQLiteNetExtensions

注意: MvvmCross 包自动包含 SQLite.Net-PCL。所以这两者都使用相同的PCL。

0 投票
1 回答
858 浏览

xamarin - SQLite.NET 扩展多对多,未创建连接表记录

我是使用 SQLite.NET 和扩展的新手。

尽我所能,我遵循了我找到的指南,但在多对多连接表中没有创建任何记录,我不知道为什么。

我对 SQLiteNetExtensions 项目有一个解决方案 NuGet 依赖项。

我有以下表格:

当我构建数据库时,我使用以下测试代码:

当我访问数据时,我使用以下代码:

其输出为:

0 投票
1 回答
95 浏览

sqlite - 外键不会使用 SQLite.net 在 SQLite 数据库中创建

我正在尝试使用 SQLite.Net 和 SQLiteNetExtensions 设置 SQLite 数据库。我似乎无法在数据库中创建外键。我已删除所有表并使用模型类重新创建它们。我已经检查了 SQLite 管理器中的编译指示并打开了外键。在我的示例中,一个地块可以有许多树。关于我可能缺少什么的任何建议?

0 投票
1 回答
796 浏览

sqlite - SQLite 和 SQLite 网络扩展 - 外键约束在哪里?

我只是在这里感到困惑(也许我错过了什么?)

我一直在努力弄清楚为什么我使用sqlite-net-extensions上的示例创建的 SQLite DB没有创建外键关系

0 投票
1 回答
330 浏览

c# - 如何使用 SQLite-Net 扩展遍历多个相关表?

我正在尝试使用 SQLite-Net 扩展遍历多个相关表。但它没有用。我究竟做错了什么?

使用“MiddleTable”作为入口点,它可以工作:

TopTable,带有 MiddleTable 项的列表:

MiddleTable,带有底部表项的列表:

底表:

在循环之前我插入对象: