问题标签 [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 回答
2812 浏览

c# - Xamarin Sqlite-Net 插入(对象引用未设置为对象的实例)

我有一个非常奇怪的问题,我无法弄清楚。我无法将新项目插入到我的 Sqlite 数据库中。我不断收到此错误:-

我真的不知道为什么并且有完全相同的代码在应用程序中工作并保存其他表。

这是我的代码:-

用户.cs

用户管理器.cs

用户存储库.cs

用户数据库.cs

Application.cs(在 Android 中)

这是我的堆栈跟踪:-

0 投票
1 回答
74 浏览

sqlite-net-extensions - 多对多关系未在 Sqlite-Extensions 中正确更新

我正在使用 sqlite-extensions 在 Android 中创建一个聊天应用程序,以创建数据库表之间的关系。这是设置舞台的代码墙:

对话表

聊天消息表

用于聊天和对话表关系的中间表

当我向用户发送消息时,它会创建一个与聊天消息对象级联的新对话。当我在同一设备上登录到其他用户的帐户时,会创建一个新对话,并且将相同的聊天消息与之级联。现在的问题是,在用户收到消息后,第一个用户创建的对话和聊天消息之间形成的关系不再存在。在这里,用户发送一条消息:

用户在这里收到聊天:

当发送者创建会话时,会话和发送的聊天消息之间形成关系,但是当第二个用户收到消息时,这种关系被打破,并且在消息接收者创建的会话之间形成新的关系。由于关系是多对多的,这不应该发生。这是对话插入数据库的位置:

有人可以看看我的代码并告诉我出了什么问题吗?

0 投票
0 回答
86 浏览

xamarin - ForeignKey 在第二次 UpdateWithChildren() 后变为 NULL

我正在为XAMARIN Forms project (PCL)使用SQLiteNetExtension。我面临的问题是在关系的多端定义的多对一关系的 ForeignKey 在第二个_connectionToDB.UpdateWithChildren()之后被 Null 覆盖:

  • 第一次插入正确
  • 第二次插入(相同的值):插入成功但 ForeignKey 为 NULL
  • 第三数据处理:数据库保存 4 行,其中 2 个外键为 NULL,另外 2 个正确
  • 第四数据处理:数据库中的 4 行有一个 NULL FK

(通过数据处理,我的意思是每次单击按钮时执行相同的代码 ..Example )

让我们来看看代码:

现在数据库和数据处理

0 投票
1 回答
145 浏览

sqlite-net-extensions - SQLite-Net 扩展无法创建具有 OneToOne 关系的表

我创建了两个类,Item 和 Warranty。Item 包含对 Warranty 的引用,并且 Warranty 使用外键属性进行标记。我遵循与 wiki 页面上相同的模式,但我不断收到“不知道保修”错误。这是我的课程的样子:

物品类别

在此处输入图像描述

保修等级

在此处输入图像描述

这就是我调用创建表的方法,第一行是抛出错误。 在此处输入图像描述

0 投票
1 回答
135 浏览

c# - SQLite 和 SQLite-Extensions 不能执行 OneToOne 关系ip

我正在使用SQLite-Net-Extensions。我正在尝试定义一个OneToOne关系,以便在Accounts加载我的模型时它也将包含 ,Campaign以便我可以访问活动名称。

问题Accounts.Campaign始终是null。我在两个表中都有数据。

这是我在 SQLite 中的表:

以下是我的模型:

我运行以下代码来获取所有帐户:

也试过...

和 ...

当我检查accounts帐户数据时,它在那里,Accounts.Campaign但是null. 我似乎看不出我做错了什么。

0 投票
0 回答
259 浏览

c# - 使用 SQLite-Net 扩展密码保护 SQLite 数据库

我想在使用 MVVMCross 和 SQLite-Net Extensions 的 Xamarin 项目中对 SQLite 数据库(未完全加密)进行密码保护。即使默认的 SQLite Nuget 在创建数据库连接时似乎有密码选项,SQLite-Net 扩展也没有。我错过了什么吗?是否比在每个平台上编写自定义代码来处理连接更容易做到这一点?谢谢!

0 投票
2 回答
80 浏览

sqlite-net-extensions - 添加新的多对多对象后,旧记录发生变化(不受欢迎)

当我添加新的多对多对象时,旧记录中的一些关系字段值设置为 null 或 0(参考:图 1)。

报价表

还删除了一些以前的中间表记录(参考:图 2)。

QuoterProfession 中间表

这是代码:

楷模:

视图模型:

如何在不影响(不希望地)以前的记录的情况下添加 Quoter?

0 投票
1 回答
122 浏览

linq - 在不使用 SQLite-Net 扩展的情况下使用数据库表之间关系的方法

在数据库表之间建立关系(一对多、多对多等)有哪些不同的方式。我不想使用 SQLite-Net 扩展。

有谁知道这方面的任何来源。如果你知道一个,请举一个非常简单的例子。

我听说可以使用 LINQ 的 Join 方法来完成。如果您知道如何使用它,请提供一个简单的工作示例。

0 投票
1 回答
286 浏览

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 的键?

0 投票
1 回答
280 浏览

c# - 似乎无法使 OneToMany 关系正常工作

我对移动应用程序开发非常陌生,所以我正在尝试自学。我正在为我正在尝试制作的这个特定应用程序使用 Xamarin 和 sqlite-net(扩展)。

我有 2 个具有 OneToMany 关系的课程

现在在我的活动中,我有这样的事情

这一切似乎都有效,并且没有给我任何错误。当我调试它时,我可以看到玩家确实添加了一个游戏。但是,当我尝试在其他地方使用以下语句获取所有玩家时,

他们突然没有游戏了,当我尝试读取该属性时我的程序崩溃了。

我用 UpdateWithChildren 和 InsertWithChildren 尝试了一些不同的方法,但无济于事。是我做错了什么还是我没有安装什么?我真的很感激帮助。