如何将 SQLite-Net 扩展与复合键一起使用

2023-11-30

我有以下课程:

Class1.cs:

[JsonObject(MemberSerialization.OptIn)]
public class Class1
{
    [PrimaryKey]
    [JsonProperty("key1")]
    public string Key1 { get; set; }

    [PrimaryKey]
    [JsonProperty("key2")]
    public string Key2 { get; set; }

    [PrimaryKey]
    [JsonProperty("key3")]
    public string Key3 { get; set; }

    [JsonProperty("normalStuff")]
    public string NormalStuff{ get; set; }

    [OneToMany(CascadeOperations = CascadeOperation.All)]
    [JsonProperty("customObjectList")]
    public List<CustomObject> CustomObjects { get; set; }
}

然后是我的 CustomObject 类:

[JsonObject(MemberSerialization.OptIn)]
public class CustomObject
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }

    [ForeignKey(typeof(Class1))]
    public string Class1Key{ get; set; }

    [JsonProperty("description")]
    public string Description { get; set; }

    [JsonProperty("value")]
    public string Value { get; set; }
}

基本上我想要完成的是拥有一个包含这些自定义对象的映射的表。 SQLite-Net 扩展是否支持这一点?最新版本的 MVVMCross SQLite 社区包支持组合键方面。当我尝试将上述数据结构保存到我的数据库时,它会保存除我的 CustomObjects 之外的所有内容......这些最终都为空。如果您需要更多信息来了解我想要实现的目标,请告诉我!


首先,感谢您对 MvvmCross SQLite 社区插件的贡献。

遗憾的是,目前 SQLite-Net 扩展中不支持复合键,只有 SQLite-Net 的 MvvmCross 实现支持多个主键,并且这是最近的更改。

我将看看支持它所需的更改,但这需要一些时间。 SQLite-Net 扩展是建立在主键唯一的假设之上的,因此每个关系的外键也是唯一的。这种调整需要对架构和 API 进行一些深入的改变。

我正在考虑这样的事情,以避免当前工作的公共 API 发生变化:

[CompositeForeignKey(typeof(Class1), "key1", "key2", "key3"]
public Tuple<int, int, int> Class1Key { get; set; }

我创建了一个新问题在项目中跟踪状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 SQLite-Net 扩展与复合键一起使用 的相关文章

  • 添加 Nullable int 时保持 null?

    我想添加可为空的int 并保留null当所有值都是null 我想要这个结果 1 2 3 1 null 1 null null null O null 0 问题是 如果我将一个值与 null 相加 结果为 null int i1 1 int
  • json.net自定义jobject反序列化

    我正在尝试使用 JsonConvert DeserializeObject string 将字符串反序列化为可与动态一起使用的 jobject 来动态访问 json 文档 但是我想避免知道文档的大小写 以便我可以输入 dynamic doc
  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • 有没有办法在 xcode 上使用 c++0x ?我想使用 gcc 4.4 或更高版本

    我想使用 gcc 4 4 或更高版本进行 iphone 开发 有人知道怎么做吗 不 你不知道 相信我 你不会 Apple 仍保留 gcc 4 2 1 因为 4 2 2 及更高版本使用 GPLv3 这意味着他们必须放弃对其平台的控制 对于 i
  • 多级排序

    我有一个表 其中包含一些记录 其中包含名称 评级等字段 我首先想要根据评级将结果限制为 20 进行排序 然后在此结果集上想要进一步应用基于名称的排序 我知道要排序我们需要使用像这样的查询 Select from table order by
  • 如何使用 SOAP 且不使用 WSE 在 .NET 中签署 Amazon Web 服务请求

    亚马逊产品广告 API 以前称为 Amazon Associates Web Service 或 Amazon AWS 实施了一项新规则 即自 2009 年 8 月 15 日起 向其发送的所有 Web 服务请求都必须经过签名 他们在其网站上
  • 计算另一个表达式中的 C# 表达式

    我想在另一个表达式中使用一个表达式 Expression
  • 使用查询表达式对 List 进行排序

    我在使用 Linq 订购这样的结构时遇到问题 public class Person public int ID get set public List
  • 增强精神、递归和堆栈溢出

    为什么下面的代码在运行时崩溃 它会给出堆栈溢出错误 include
  • Python int 太大,无法放入 SQLite

    我收到错误 OverflowError Python int 太大 无法转换为 SQLite INTEGER 来自以下代码块 该文件约25GB 因此必须分部分读取 length 6128765 Works on partitions of
  • UI 函数在快速事件完成之前触发

    我有一个停靠在 Silverlight 应用程序中的 Web 浏览器框架 有时会在其上弹出全窗口 XAML Silverlight UI 元素 我已经或多或少修复了一个老问题 即 Web 框架的内容似乎与 Silverlight 内容不能很
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • C#6 中的长字符串插值行

    我发现 虽然字符串插值在应用于现有代码库的字符串 Format 调用时非常好 但考虑到通常首选的列限制 字符串对于单行来说很快就会变得太长 特别是当被插值的表达式很复杂时 使用格式字符串 您将获得一个可以拆分为多行的变量列表 var str
  • 在 asp.net MVC 中使用活动目录进行身份验证

    我想使用活动目录对我的 asp net mvc 项目中的用户进行身份验证 在网上冲浪了几个小时后 我没有找到任何对我有用的东西 我已经看到了所有结果 但什么也没有 我尝试按照许多帖子的建议编辑我的 web config 如果有人可以帮助我提
  • 为什么 Cdecl 调用在“标准”P/Invoke 约定中经常不匹配?

    我正在开发一个相当大的代码库 其中 C 功能是从 C P Invoked 的 我们的代码库中有很多调用 例如 C extern C int stdcall InvokedFunction int 使用相应的 C DllImport CPlu
  • 如何使用 NPOI 按地址(A1、A2)获取 Excel 单元格值

    我有一个 Excel 单元格地址 例如 A1 A2 如何使用 C 中的 NPOI 框架以编程方式访问此单元格 我找到的一些 Java POI 示例代码 CellReference cr new CellReference A1 row my
  • 英文日期差异

    接近重复 如何计算相对时间 https stackoverflow com questions 11 how do i calculate relative time 如何在 C 中计算某人的年龄 https stackoverflow c
  • 使用 jQuery 从 ASP.Net JSON 服务获取数据

    我正在尝试调用 Google 地图地理编码 API 从纬度 经度对中获取格式化的地址 然后将其记录到控制台 我正在尝试获取为给定位置返回的第一个 formatted address 项目 我很简单无法从 JSON 中提取该项目 我不知道为什
  • 如何在 winforms 应用程序的主屏幕显示之前显示欢迎屏幕?

    我想在应用程序启动时加载欢迎屏幕 然后用户单击欢迎屏幕上的按钮 然后关闭欢迎屏幕 最后显示主屏幕 static void Main startup method being called Application EnableVisualSt
  • 来自 3rd 方库的链接器错误 LNK2019

    我正在将旧的 vc 6 0 应用程序移植到 vs2005 我收到以下链接器错误 我花了几天时间试图找到解决方案 错误LNK2019 无法解析的外部符号 imp 创建AwnService 52 在函数 public int thiscall

随机推荐

  • 从文本区域读取时不保留换行符

    我的 java web 应用程序从文本区域获取内容 并通过电子邮件发送相同的内容 我面临的问题是 使用以下命令读取相同内容时 文本区域消息中的换行符不会保留 request getParameter message 有什么线索可以解决吗 T
  • 如何以非交互式方式为 gcloud CLI 传递数据库密码?

    我正在尝试以非交互式方式将密码传递给 gcloud sql connect 命令 我想要实现的不是要求输入密码 而是以某种方式将其传递到命令中 不确定是否可能 基于文档 但另一方面 它对于自动化任务非常有用 我坚信有一种方法可以做到这一点
  • 无法创建 externalDataReference 临时文件

    我在我的 iOS 项目中使用 Core Data 我通过以下方式使用多个上下文 我有一个persisent store context它在私有队列上运行并将更改存储到持久存储中 我有一个main queue context那是的孩子pers
  • Android:Eclipse MAT 似乎没有显示我的应用程序的所有对象

    我通过插入语句创建了一个 hprof 文件Debug dumpHprofData sdcard myapp hprof 在我的应用程序的代码中 然后 我通过 hprof conv 运行 hprof 文件 并在 Eclipse 中打开转换后的
  • 子类中的狭义属性类型

    今天我遇到了一个奇怪的行为 我没想到 Objective C 编译器会允许 在 UITableViewCell 中 有一个名为 imageView 的 UIImageView 类型的属性 我对 UITableViewCell 进行了子类化
  • iDangero.us Swiper 多个实例

    我正在尝试添加多个刷卡器 http www idangero us swiper 在我的网站上 我想添加滑动器动态 因此我为每个滑动器使用相同的类 每个滑动器看起来像这样 div class swiper container div cla
  • JavaFX 任务一旦取消或完成一次就不会重新运行

    我正在做一个基本的 Java FX 任务练习 线程上的计数范围为 1 到 150 当前值显示在标签上并更新进度条 有一个按钮可以启动任务 取消任务以及查看任务的取消状态 让我困惑的是为什么我在取消线程一次后无法重新运行任务 如果我让任务完成
  • 对调用另一个方法的方法进行单元测试

    对调用多个方法的方法进行单元测试的最佳方法是什么 例如 modify string value if value Length gt 5 replaceit value else changeit value 该伪代码有一个修改方法 当前
  • Solr 4 中可以更新 uniqueKey 吗?

    我的 uniqueKey 定义为
  • 使用 Gradle - 在 META-INF/spring.factories 中找不到自动配置类

    尝试在 Spring Boot 上使用 IntelliJ 中的 gradle 中的 jar 函数部署我构建的 jar 它使用 bootrun 从我的 IDE 本地运行良好 但没有将 jar 放在 Linux 服务器上 服务器上的完整错误是
  • Sklearn Pipeline:自动错过一项功能

    我创建了一个自定义分类器 虚拟分类器 下面是定义 我还添加了一些打印语句和全局变量来捕获值 class FeaturePassThroughClassifier ClassifierMixin def init self pass def
  • 以编程方式触发来自 Google Play 的应用更新

    在 Google Play 开发者控制台中提交应用程序更新并且所有用户都可以看到该应用程序后 任何设备需要多长时间才能选择更新 假设全天都有有效的互联网 WiFi 连接 并且此应用程序已开启自动更新 我能否以编程方式向 Google Pla
  • React 正在将旧状态发送给其父级

    当我将子组件的状态发送到其父组件时 React 会将旧状态发送到父组件 我想在每次单击正常工作并调用函数handleClick 的列表项时发送更新的状态 但当我打电话时sendStateToParent 它正在过去旧的状态 假设我点击了IT
  • ASP.NET MVC 中的 AutoMapper 更新操作

    对于某些人来说 这可能非常简单 但是我有点困惑 找不到合适的例子 假设我正在使用视图模型 并且我的 POST 操作在该视图模型中进行 通常我会按照以下方式做一些事情 HttpPost public ActionResult Update U
  • 无法在 Spark SQL 中生成 UUID

    下面是代码块和收到的错误 gt creating a temporary views sqlcontext sql CREATE TEMPORARY VIEW temp pay txn stage USING org apache spar
  • 将所有输出 dll 放在 Visual Studio 的公共目录中

    我有几个不同的解决方案 其中某些项目可能依赖于其他解决方案中项目的输出 为了管理这个问题 我在构建后将 dll 文件从每个项目中的 bin 文件夹复制到共享库位置 然后将它们从那里复制 引用到依赖项目 然而 随着库解决方案变得越来越大 这往
  • 分组依据但包含“缺失”值

    假设我有以下内容 select case when fcompany Acme then Red when fcompany Acme Rockets then Blue else Green end Color sum fann sale
  • python 有没有办法改变 get 的处理顺序? [复制]

    这个问题在这里已经有答案了 If I do def foo yield from range 0 10 yield from range 10 20 for num in foo print num 我得到一个从 0 到 19 的有序列表
  • c项目makefile多重定义错误

    这个问题是一个对应于创建的repexthis问题 在我的嵌入式 C 项目中 我有两个独立的板 我想为每个板创建两个 c 文件 master c 和 Slave c 其中包含自己的特定main 功能 我使用 stm32cumbemx 生成带有
  • 如何将 SQLite-Net 扩展与复合键一起使用

    我有以下课程 Class1 cs JsonObject MemberSerialization OptIn public class Class1 PrimaryKey JsonProperty key1 public string Key