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

c# - Sqlite.Net PCL 和 Sqlite-Net 扩展

我正在尝试使用这个库: https ://github.com/oysteinkrog/SQLite.Net-PCL ,这样我就可以将所有存储库的东西保存在 PCL 中。

https://bitbucket.org/twincoders/sqlite-net-extensions/overview 因为用它来管理实体之间的关系更好。

我尝试使用 PCL 配置文件 4.5 - 78 构建它们,但到目前为止没有成功。特别是在 Sqlite-Net 扩展中,它使用了一些无法在 PCL 上工作/编译的重度反射。

有没有人让这两个一起工作?

0 投票
2 回答
576 浏览

c# - Bulid SQLite-Net Extensions in visual studio professional 2013 but not successful

I am new to windows app and I am going to build the sqlite-net extension project to .dll file in order to make the models have the relationship attribute of one-to-many, one-to-one, many-to-many.

Link: https://bitbucket.org/twincoders/sqlite-net-extensions

This is the info that it shows when I open the project in visual studio 2013.

Unsupported

This version of Visual Studio is unable to open the following projects. The project types may not be installed or this version of Visual Studio may not support them. For more information on enabling these project types or otherwise migrating your assets, please see the details in the "Migration Report" displayed after clicking OK. - IntegrationTests.Touch-MvvmCross, "C:\Users\**\Downloads\sqlite-net-extensions\sqlite-net-extensions\IntegrationTests.Touch\IntegrationTests.Touch-MvvmCross.csproj" - IntegrationTests.Touch-PCL, "C:\Users\**\Downloads\sqlite-net-extensions\sqlite-net-extensions\IntegrationTests.Touch\IntegrationTests.Touch-PCL.csproj"

No changes required These projects can be opened in Visual Studio 2013, Visual Studio 2012, and Visual Studio 2010 SP1 without changing them. - Tests, "C:\Users\**\Downloads\sqlite-net-extensions\sqlite-net-extensions\Tests\Tests.csproj" - MvvmCross, "MvvmCross" - SQLiteNetExtensions-MvvmCross, "C:\Users\**\Downloads\sqlite-net-extensions\sqlite-net-extensions\SQLiteNetExtensions\SQLiteNetExtensions-MvvmCross.csproj" - SQLiteNetExtensions-PCL, "C:\Users\**\Downloads\sqlite-net-extensions\sqlite-net-extensions\SQLiteNetExtensions\SQLiteNetExtensions-PCL.csproj" - SQLiteNetExtensions, "C:\Users\**\Downloads\sqlite-net-extensions\sqlite-net-extensions\SQLiteNetExtensions.sln"

I try to build it and it shows some errors. So I right click the project and download the missing packages. When I try to build it again, it shows these errors: enter image description here

Does anyone successfully bulid it to .dll file or anyone can fix the problems like these?

Many Thanks!

0 投票
3 回答
4974 浏览

c# - Sqlite 扩展未按预期工作

我正在开发一个 WinRT 应用程序。我想用来sqlite-net-extensions支持OneToManyManyToMany

当我尝试为数据库生成表时,它会引发异常:

app_name.exe 中出现“System.NotSupportedException”类型的异常,但未在用户代码中处理其他信息:不了解 System.Collections.Generic.List`1 [app_name.Model.modelName]

这是从里面传来SqlTypeSQLite.cs

但是从sqlite-net-extensions 主页上的示例来看,List属性应该可以正常工作。

这是他们示例的副本:

谁能给我一些解决这个问题的建议?谢谢。

0 投票
2 回答
1778 浏览

c# - 如何使用 SQLite-Net 扩展实现递归关系

我有一个必须具有递归关系的表Employee ,例如。

第 1 行: EmployeeId = 1EmployeeName = AlbertSupervisorId = NULL

第 2 行EmployeeId = 2EmployeeName = LeonardoSupervisorId = 1

即 EmployeeId( 2 ) 是 EmployeeId( 1 )的子代

我在 C# 中有以下代码,其中我使用SQLite-Net 扩展来实现递归关系:

接下来我测试代码——我创建了两个员工并将它们添加到表Employee中:

第一名员工

第二名员工

但是当我打电话时

guid是第一个员工,我收到以下错误:

附加信息:“Project.Models.Employee”类型的对象无法转换为“System.Collections.Generic.List`1”类型

SQLite-Net 是否支持递归关系?请问有什么建议吗?

更新

GetByGuid() 的代码:

此外,当我添加第二名员工而不指定外键并进行调用时,它可以工作......

0 投票
3 回答
12020 浏览

sqlite - Xamarin 表单上的 SQLite-Net 扩展示例

我对使用 SQlite-Net 扩展很感兴趣(https://bitbucket.org/twincoders/sqlite-net-extensions) 与 Xamarin 表单。我正在使用 Visual Studio 2013、NuGet 的 SQlite.Net PCL 2.3.0 和一个空白的 Hello World Xamarin Forms PLC 项目。作为第一步,我试图从 Sqlite.Net 扩展站点中获取示例。根据 Xamarin 网站上的建议方法,我使用 DependencyService 来获取 SQLIteConnection。但是,我的代码甚至无法编译,因为它在 SQLiteConnection 上找不到 UpdateWithChildren 或 GetWithChildren 方法。很明显,我的 SQLiteConnection 对象没有与示例相同的所有内容。我是否为 SQLite.Net PCL 使用了错误的库?Xamarin 和 SQLite-Net 扩展都建议使用 NuGet 的 PCL 版本,这就是我认为我所拥有的......

我在 Xamarin 论坛上也发布了这个: http ://forums.xamarin.com/discussion/20117/sqlite-net-extensions-and-sqliteconnection#latest

这是我的代码(ISQLite 类除外)。数据模型:

这是我的数据库助手。现在我只是在构造函数中运行一个测试。我得到的错误是找不到方法 UpdateWithChildren 和 GetWithChildren。

0 投票
1 回答
1639 浏览

c# - 将 SQLiteNetExtension 与 SQLite-net 集成到 Xamarin 解决方案中

我想尝试将 SQLiteNetExtension 与 SQLite-net 一起用于 Xamarin 中的项目。

目前,我创建了一个解决方案,其中包含:

  • 一个 Android 应用程序(用于 UI 层)
  • 一个 Android 库项目(包含我的数据、业务层)

我将 NuGet 包中的 SQLite-net 添加到 Android 库项目中。并将 SQLiteNetExtension 从 dll 添加到 Android 库项目中,就像参考一样。

但我尝试使用扩展中的属性。我得到像这样的错误:

我正在使用最新版本的 SQLite.cs 1.0.8 版:来自https://github.com/praeclarum/sqlite-net 和 SQLiteNetExtension 来自:https ://bitbucket.org/twincoders/sqlite-net-extensions/概述

所以我的问题是,如何使用 SQLiteNetExtension 而不出现构建错误?

谢谢你。

0 投票
2 回答
1691 浏览

windows-phone-8.1 - Windows Phone 8.1 Sqlite-net 外键关系

我已经在我的 windows phone 通用应用程序中安装了来自 NuGet 包的 sqlite-net。但它不包含表之间的外键关系属性。我在网上搜索,发现SQLITE-Net Extenstions 可以通过使用属性来处理这个问题,但它只能安装在 Windows 8.1 应用程序上,不能安装在 Windows Phone 8.1 上。

如何在 windows phone 8.1 中使用此扩展,或者在 sqlite 中是否有其他外键关系解决方案?

谢谢!

0 投票
1 回答
1249 浏览

sqlite-net-extensions - 具有多个外键的 SQLite.Net 扩展

尝试创建具有多值外键的一对多关系时出现以下错误...

**

SQLite.Net.SQLiteException:外键不匹配 - “活动”引用“节点”

**

这是表 SQL(为清楚起见进行了简化)...

还有我的 C# 模型(为清楚起见再次简化)...

尝试使用以下方法保存模型时会发生此错误:

0 投票
1 回答
5069 浏览

c# - sqlite.net table where 子表的条件

我正在使用 Xamarin 表单、SQLite.net 和 SQLitenet 扩展,但我无法弄清楚为什么我希望简单的东西不起作用。

我有两节课

我只是尝试执行以下查询,但它总是失败。

我得到了这个例外

System.Diagnostics.Debugger.Mono_UnhandledException(ex={System.Reflection.TargetInvocationException:异常已被调用的目标抛出。---> System.NullReferenceException:对象引用未设置为 SQLite.Net 上的对象实例.TableQuery 1[MeasureONE.MeasurementInstanceModel].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1 queryArgs) [0x00000] in :0 at SQLite.Net.TableQuery 1[MeasureONE.MeasurementInstanceModel].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1 queryArgs) [0x00000] in :0 at SQLite.Net.TableQuery 1[MeasureONE.MeasurementInstanceModel].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1 queryArgs) [0x00000] in :0 at SQLite.Net.TableQuery 1[MeasureONE.MeasurementInstanceModel].GenerateCommand (System.String selectionList) [0x00000] in <filename unknown>:0 at SQLite.Net.TableQuery1[MeasureONE .MeasurementInstanceModel].GetEnumerator () [0x00000] in :0 at System.Collections.Generic.List 1[MeasureONE.MeasurementInstanceModel].AddEnumerable (IEnumerable1 可枚举)[0x00000] in :0 at System.Collections.Generic.List 1[MeasureONE.MeasurementInstanceModel]..ctor (IEnumerable1 集合)[0x00000] in :0 在 System。 Linq.Enumerable.ToList[MeasurementInstanceModel] (IEnumerable1 source) [0x00000] in <filename unknown>:0 at MeasureONE.Repository1[MeasureONE.MeasurementInstanceModel].GetAll[DateTime] (System.Linq.Expressions.Expression 1 predicate, System.Linq.Expressions.Expression1 orderBy, Nullable 1 descending, Nullable1 skip, Nullable 1 count) [0x00094] in /Users/jean-sebastiencote/MeasureONE/MeasureONE/Models/Repository/Repository.cs:48 at MeasureONE.Repository1[MeasureONE.MeasurementInstanceModel].GetAllWithChildren[DateTime] (System.Linq.Expressions.Expression 1 predicate, System.Linq.Expressions.Expression1 orderBy, Nullable 1 descending, Nullable1 个跳过,可空1 count) [0x00009] in /Users/jean-sebastiencote/MeasureONE/MeasureONE/Models/Repository/Repository.cs:54 at MeasureONE.MeasurementListViewModel.Load (System.Linq.Expressions.Expression1 个预测,可空1 skip, Nullable1 个计数)[0x00049] 在 /Users/jean-sebastiencote/MeasureONE/MeasureONE/ViewModels/MeasurementListViewModel.cs:42 在 MeasureONE.MeasurementListViewModel.Load(MeasureONE.FilterViewModel 过滤器)[0x000cf] 在 /Users/jean-sebastiencote/MeasureONE/ MeasureONE/ViewModels/MeasurementListViewModel.cs:34 at MeasureONE.MeasurementListViewModel.m__1 (GalaSoft.MvvmLight.Messaging.NotificationMessage`1 msg) [0x00007] in /Users/jean-sebastiencote/MeasureONE/MeasureONE/ViewModels/MeasurementListViewModel.cs:21 at (包装器托管到本机) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) 在 System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System .Reflection.Binder 绑定器,System.Object[] 参数,System.Globalization。CultureInfoculture) [0x00000] in :0 --- 内部异常堆栈跟踪结束 ---

从堆栈跟踪中可以看出,我在代码中还有一些东西,例如 order by。但这一切都很好,只要我在子表上没有条件。

0 投票
1 回答
1126 浏览

c# - 使用 Where 子句返回子代

我在我的 Xamarin 项目中使用SQL-NET 扩展。我正在尝试使用 where 子句返回我的模型的子元素。使用网站上的示例模型:

我可以使用以下方法成功返回一个特定项目,其中填充了子项:

但是我不知道如何使用Where子句而不是Get. 我努力了:

这将返回所有 Stock 参数为空。然后我可以遍历每个结果并设置它们,但我认为在原始查询中必须有更好的方法来做到这一点?