问题标签 [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.
c# - 稍后检索时保存的项目为空
我正在使用 Xamarin 和 C# 来制作跨平台应用程序。SQLite.Net 扩展正在用于本地数据库。用户表包含一个寄存器列表,如下所示:
当一个寄存器被创建时,它被添加到寄存器表中,然后添加到这个列表中,如下所示:
当我尝试通过用户对象访问寄存器列表时,它说该列表不包含任何元素。
我四处寻找解决方案,他们似乎提到了 SQLite UpdateWithChildren
,但这种方法不是我的 SQLite Connection 或我的数据库中存在的方法。寄存器列表是ManyToMany
关系,更新如何适应所有这些?
**编辑:**我现在有了更新方法,但是当它被击中时似乎出现异常。以下是我的“DatabaseManager”中将寄存器添加到用户列表的方法:
添加寄存器时出现以下异常,我认为链接类的代码(使用中间表)不需要由用户代码调用?
补充一下,我的中间表类如下所示:
**编辑:** 下面是注册类本身:
c# - SQLite.Net OrderBy 函数返回 Null 引用异常
平台:
- Windows 8.1 通用
- sqlite-net 1.0.8 以前请参阅下面的编辑
- SQLite.Net PCL 3.1.1 当前
在职的
我有一张桌子
突破性变化
但是,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)。
有任何想法吗?
c# - 使用 sqlite-net windows phone 8.1 在中间表中插入外部数据
我花了很多时间尝试在一个表中插入信息,该表具有在 windows phone 8.1 中创建的多对多关系。既然我可以将信息自动插入到中间表中呢?我正在使用 sqlite-net 来处理表之间的关系,它们是我的实体
添加产品的功能和代码如下
使用 InsertWhithChildren 可以自动插入到中间表中,但我不能在应用程序中使用它。非常感谢有人在帮助自己,因为我尝试了 2 天,但我还没有看到任何互联网信息
我应该使用什么样的 sqlite 以及我应该使用哪个连接器 sqlite 和路径?
我需要在插入产品时将其自动插入表格详细信息中
c# - SQLite Xamarin 中的一对多关系
我正在构建一个 Xamarin 移动应用程序,并且我有一组从 rest api 获得的产品。每个产品可以有 n 个图像。我已经使用 SQLite-Net Extensions 设置了表的关系。但是,当我将值插入数据库时,图像字段在产品表中的值为空,而图像表为空。
我的模特
我用来插入值的代码。
这就是我将json反序列化为对象的方式
如果有人可以帮助我确定我做错了什么,那就太好了。
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 中的嵌套关系有经验,知道如何进行这项工作或看看我做错了什么?
c# - Sqlite-net 扩展关系始终为空
我正在尝试使用 MvvmCross 4 中的扩展。我想做的很简单:我有两个具有一对多关系的表,并且想要访问它。
我有两个班,BusLine
和BusLineGroup
。每条 BusLine 都有一个 Group 作为外键。我在代码中所做的是运行一个简单的 LINQ-Query 来获取所有总线:
查询本身有效,但如果我检查返回对象的字段,组总是null
!。请参阅下面的类和表定义。
我究竟做错了什么?为什么总是组null
?谢谢你的帮助。
代码中的类:
两张表:
已安装的 Nuget 包:
- MvvmCross.Plugin.SQLitePCL
- SQLiteNetExtensions
注意: MvvmCross 包自动包含 SQLite.Net-PCL。所以这两者都使用相同的PCL。
xamarin - SQLite.NET 扩展多对多,未创建连接表记录
我是使用 SQLite.NET 和扩展的新手。
尽我所能,我遵循了我找到的指南,但在多对多连接表中没有创建任何记录,我不知道为什么。
我对 SQLiteNetExtensions 项目有一个解决方案 NuGet 依赖项。
我有以下表格:
当我构建数据库时,我使用以下测试代码:
当我访问数据时,我使用以下代码:
其输出为:
sqlite - 外键不会使用 SQLite.net 在 SQLite 数据库中创建
我正在尝试使用 SQLite.Net 和 SQLiteNetExtensions 设置 SQLite 数据库。我似乎无法在数据库中创建外键。我已删除所有表并使用模型类重新创建它们。我已经检查了 SQLite 管理器中的编译指示并打开了外键。在我的示例中,一个地块可以有许多树。关于我可能缺少什么的任何建议?
sqlite - SQLite 和 SQLite 网络扩展 - 外键约束在哪里?
我只是在这里感到困惑(也许我错过了什么?)
我一直在努力弄清楚为什么我使用sqlite-net-extensions上的示例创建的 SQLite DB没有创建外键关系
c# - 如何使用 SQLite-Net 扩展遍历多个相关表?
我正在尝试使用 SQLite-Net 扩展遍历多个相关表。但它没有用。我究竟做错了什么?
使用“MiddleTable”作为入口点,它可以工作:
TopTable,带有 MiddleTable 项的列表:
MiddleTable,带有底部表项的列表:
底表:
在循环之前我插入对象: