问题标签 [linq2db]

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 投票
2 回答
7823 浏览

c# - 使用 Linq to Sqlite (linq2db) 创建表

我要做的是table在空数据库上打开连接时动态创建一个。我已经用Linqto创建了模型,Sqlite并成功地将它与非空数据库一起使用。

现在我正在尝试使用“新”数据库。

我这样做我的 db.Insert 是这样的:

空数据库打开正常。实际上为它创建了一个 0KB 的文件。但是当我尝试在其中插入一些东西(或者当然是阅读一些东西)时,我得到了一个例外:SQL logic error or missing database

我正在使用的图书馆:

https://github.com/linq2db/linq2db

NuGet包装:

http://nuget.org/packages/linq2db.SQLite/

在开始写入空数据库文件之前我需要做些什么吗?

0 投票
2 回答
2970 浏览

c# - linq2db:无法为表生成 POCO

由于我需要使用 C# 和 MySQL,我最近通过其 NuGet 包安装了 linq2db。安装后,我发现它带有一个文档中没有提到的非常好的功能:一组 T4 模板,用于自动生成 DB 类和表的 POCO!(哇!)

所以我决定运行 T4s 而不是自己写下我的 POCO,但是这里出现了错误的部分:找不到 db 的表列表,因此只创建了 db 类。

0 投票
1 回答
4783 浏览

c# - 在一个原子操作中通过 linq2db 检查更新行

MS SQL 数据库表有时间戳字段,其值在更新行后发生变化。在更新之前,我想检查该行是否从另一个服务更改。

我可以通过将内存中对象的时间戳值与数据库表中的值进行比较来做到这一点。

我可以通过linq2db在一个原子操作中完成吗?

它无需检查即可工作:

这三个查询不起作用:

我想像这样执行sql脚本:

0 投票
2 回答
2033 浏览

c# - 带有 SQLite 的 LinqToDB - 引用属性为空

我在一个相对简单的域模型上有几个 POCO。一个示例如下所示:

FK 的名称很奇怪,但我通过在 .tt 文件中为它们指定MemberNames 来反驳这一点,就像自述文件建议的那样。

问题是当我抓取我的一个标签对象时,所有关联属性都是空的 -ParentID相关标签是正确的,它似乎并没有像我期望的那样将其映射到Parent or属性。 Children

我在这里做错了吗?我已经仔细检查了数据库本身。.tt 看起来像这样:

0 投票
2 回答
5498 浏览

c# - 如何在 LINQ to DB 模型类中添加表之间的关系

我正在使用 LINQ to DB (linq2db),并且我有一个类 Activity.cs,它有一个 Customer 属性,如下所示:

客户类:

现在,我希望能够做这样的事情:

如何设置实体之间的关系,以便我可以按照上面的说明进行操作?

(是的,我知道将 Id 字段作为字符串是没有意义的,我必须处理凌乱的旧 Access 数据库)

0 投票
3 回答
658 浏览

c# - 数据库表名未知时的 LINQ2B POCO

我需要使用 Linq2DB 从不同的数据库中提取数据。在这个例子中,假设它是 SQL2012。

我创建了我的 POCO 类,如下所示

我用linq2db连接数据库去取表,如下

我遇到的问题是,虽然 POCO 在成员方面是正确的,但用户在创建数据库时可以指定不同的名称(MyPoco 除外)。所以,我需要做的是询问用户表的名称,然后在 GetTable 调用中使用它,并将结果映射到我的 POCO。

请问我该怎么做?

非常感谢,保罗

0 投票
3 回答
3403 浏览

asp.net-mvc - LinqToDB:如何更改连接字符串,或在不使用项目配置的情况下进行设置

https://github.com/linq2db/linq2db 我需要使用不同的连接字符串并且找不到如何制作它。

0 投票
3 回答
2304 浏览

c# - LinqToDB 如何将枚举存储为字符串值?

LinqToDB 可以将 Enum 属性的值存储为 Enum 的字符串值而不是整数值吗?

如何让 LinqToDB 将“新建”或“取消”存储到数据库而不是 0 或 1?

更新:似乎 LinqToDB 的答案是在枚举上设置 MapValue 属性。我一直试图找到在数据对象上指定它的位置。

这会将枚举上的指定值作为文本存储在数据库中。

0 投票
1 回答
970 浏览

c# - NullReferenceError 与 linq 到 PostgreSQL

我有使用 linq 到 postgresql 的项目,我有库及其三个依赖项。

但是当我尝试连接到 de DB 时,我收到了这个错误:

System.NullReferenceException' '类型异常的第一次机会linq2db.dll。附加信息:Object reference not set to an instance of an object. (Translated).

堆栈跟踪:

在 LinqToDB.Data.DataConnection..ctor(String configurationString) 在 i:\linq2db\Source\Data\DataConnection.cs:line 41 in LinqToDB.Data.DataConnection..ctor() in i:\linq2db\Source\Data\ DataConnection.cs:第 24 行 modelo.BDGestion.bdgestionDB..ctor() 在 d:\Proyectos\Proyectos VisualStudio\TimeSheets\TimeSheets\modelo\BDGestion.PostgreSQL.generated.cs:linea 44 en TimeSheets.SeleccionPersonal..ctor( ) 在 d:\Proyectos\Proyectos VisualStudio\TimeSheets\TimeSheets\SeleccionPersonal.cs:第 23 行

我使用模板生成了类,连接字符串格式正确并正确添加到 de connectionStrings。我在这个解决方案中检查了它,并由其他计算机上的朋友自己检查了它。如果您需要任何信息,请询问。

生成的类:

App.config:

0 投票
2 回答
2929 浏览

c# - 我如何告诉 linq2db 如何将给定的表达式(即 Split(char) )转换为 SQL,而它不知道该怎么做?

我正在使用linq2db它,虽然它对于大多数 CRUD 操作都足够好,但我遇到了许多无法转换为 SQL 的表达式。

它已经到了这样的地步,除非我事先确切知道将涉及哪些类型的表达式并且之前已经成功调用过它们,否则我担心从中获得的任何好处linq2db都会被尝试查找然后删除(或远离服务器端)有问题的表达式。

如果我知道如何在临时、按需的基础上告诉linq2db如何将一个或诸如此类的东西解析为 SQL,那么我会更有信心,并且可以使用这个工具做很多事情。Expression<Func<T,out T>>

以 为例,String.Split(char separator)该方法采用 astring和 achar来返回string[]分隔符之间的每个子字符串的 a。

假设我的表Equipment有一个可以为空的varchar字段Usages,其中包含用逗号分隔的不同设备用途的列表。

我需要实现IList<string> GetUsages(string tenantCode, string needle = null)这将提供给定租户代码和可选搜索字符串的用法列表。

我的查询将类似于:

但是,它实际上会在运行时在注释指示的行上爆炸。

我完全明白,linq2db不可能期望它的创建者附带string方法和主要数据库包的每种组合。

同时,我觉得如果我能看到一个这样做的例子(有人实现自定义表达式),我就可以完全告诉它如何处理这个问题。

所以我的问题是:我如何指导linq2db如何解析Expression它无法解析的开箱即用?