问题标签 [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 Sqlite-Net 插入(对象引用未设置为对象的实例)
我有一个非常奇怪的问题,我无法弄清楚。我无法将新项目插入到我的 Sqlite 数据库中。我不断收到此错误:-
我真的不知道为什么并且有完全相同的代码在应用程序中工作并保存其他表。
这是我的代码:-
用户.cs
用户管理器.cs
用户存储库.cs
用户数据库.cs
Application.cs(在 Android 中)
这是我的堆栈跟踪:-
sqlite-net-extensions - 多对多关系未在 Sqlite-Extensions 中正确更新
我正在使用 sqlite-extensions 在 Android 中创建一个聊天应用程序,以创建数据库表之间的关系。这是设置舞台的代码墙:
对话表
聊天消息表
用于聊天和对话表关系的中间表
当我向用户发送消息时,它会创建一个与聊天消息对象级联的新对话。当我在同一设备上登录到其他用户的帐户时,会创建一个新对话,并且将相同的聊天消息与之级联。现在的问题是,在用户收到消息后,第一个用户创建的对话和聊天消息之间形成的关系不再存在。在这里,用户发送一条消息:
用户在这里收到聊天:
当发送者创建会话时,会话和发送的聊天消息之间形成关系,但是当第二个用户收到消息时,这种关系被打破,并且在消息接收者创建的会话之间形成新的关系。由于关系是多对多的,这不应该发生。这是对话插入数据库的位置:
有人可以看看我的代码并告诉我出了什么问题吗?
xamarin - ForeignKey 在第二次 UpdateWithChildren() 后变为 NULL
我正在为XAMARIN Forms project (PCL)使用SQLiteNetExtension。我面临的问题是在关系的多端定义的多对一关系的 ForeignKey 在第二个_connectionToDB.UpdateWithChildren()之后被 Null 覆盖:
- 第一次插入正确
- 第二次插入(相同的值):插入成功但 ForeignKey 为 NULL
- 第三数据处理:数据库保存 4 行,其中 2 个外键为 NULL,另外 2 个正确
- 第四数据处理:数据库中的 4 行有一个 NULL FK
(通过数据处理,我的意思是每次单击按钮时执行相同的代码 ..Example )
让我们来看看代码:
现在数据库和数据处理
c# - SQLite 和 SQLite-Extensions 不能执行 OneToOne 关系ip
我正在使用SQLite-Net-Extensions。我正在尝试定义一个OneToOne
关系,以便在Accounts
加载我的模型时它也将包含 ,Campaign
以便我可以访问活动名称。
问题Accounts.Campaign
始终是null
。我在两个表中都有数据。
这是我在 SQLite 中的表:
和
以下是我的模型:
和
我运行以下代码来获取所有帐户:
也试过...
和 ...
当我检查accounts
帐户数据时,它在那里,Accounts.Campaign
但是null
. 我似乎看不出我做错了什么。
c# - 使用 SQLite-Net 扩展密码保护 SQLite 数据库
我想在使用 MVVMCross 和 SQLite-Net Extensions 的 Xamarin 项目中对 SQLite 数据库(未完全加密)进行密码保护。即使默认的 SQLite Nuget 在创建数据库连接时似乎有密码选项,SQLite-Net 扩展也没有。我错过了什么吗?是否比在每个平台上编写自定义代码来处理连接更容易做到这一点?谢谢!
linq - 在不使用 SQLite-Net 扩展的情况下使用数据库表之间关系的方法
在数据库表之间建立关系(一对多、多对多等)有哪些不同的方式。我不想使用 SQLite-Net 扩展。
有谁知道这方面的任何来源。如果你知道一个,请举一个非常简单的例子。
我听说可以使用 LINQ 的 Join 方法来完成。如果您知道如何使用它,请提供一个简单的工作示例。
c# - 使用 SQLite-Net 扩展在一对一关系中自动设置 entitykey
在使用 SQLite-Net 扩展的 Xamarin 项目中,我有两个实体:Project 和 ProjectSettings。这些实体具有一对一的关系。Project 实体有一个自动递增的 Id。当我最初保存项目时,会自动设置项目的 ID。这工作正常。
对于 ProjectSettings,我希望 ProjectId 与 Project 表中的 Id (ForeignKey) 相同。
但是,持久化项目后,ProjectSettings 表中的 ProjectID 为 0。我正在使用database.InsertOrReplaceWithChildren(project)
. 调用此方法时,Project 和 ProjectSettings 的 Id=0。
由于我对 SQLite-Net 很陌生,我想知道我是否错误地使用了注释,或者是否需要手动步骤才能正确设置 ProjectSettings 的键?
c# - 似乎无法使 OneToMany 关系正常工作
我对移动应用程序开发非常陌生,所以我正在尝试自学。我正在为我正在尝试制作的这个特定应用程序使用 Xamarin 和 sqlite-net(扩展)。
我有 2 个具有 OneToMany 关系的课程
现在在我的活动中,我有这样的事情
这一切似乎都有效,并且没有给我任何错误。当我调试它时,我可以看到玩家确实添加了一个游戏。但是,当我尝试在其他地方使用以下语句获取所有玩家时,
他们突然没有游戏了,当我尝试读取该属性时我的程序崩溃了。
我用 UpdateWithChildren 和 InsertWithChildren 尝试了一些不同的方法,但无济于事。是我做错了什么还是我没有安装什么?我真的很感激帮助。