问题标签 [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 投票
1 回答
827 浏览

linq2db - Linq2DB 任意 Where 子句

我希望能够实现一种搜索方法,该方法可以将我的 POCO 类的任意属性作为参数。这很好用:

但在这种情况下,过滤似乎发生在收集表中的所有行之后。

是否可以使用 Linq 生成这样的任意查询而无需在 sql 调用后进行过滤?你会推荐什么方法?

谢谢!

0 投票
3 回答
1256 浏览

c# - 如何将 Oracle 数据库 NUMBER 映射到 .NET Core 中的 c# bool 类型?

我有一个列类型为 NUMBER 的 Oracle 数据库表。由于遗留原因,此列表示布尔值,因此值 0 表示假,值 -1 表示真。

我需要将此表映射到 C# 类,从而将此列映射到具有指定映射值的 bool 属性。我在 .NET Core 应用程序(控制台和 asp.net)中使用 linq2db 作为 ORM。有没有办法告诉 Oracle 托管客户端 (Oracle.ManagedDataAccess.Core) 为我从我的代码执行的所有数据库查询自动执行此映射?

0 投票
1 回答
573 浏览

linq2db - Linq2DB 参数化模式

好的,这绝对是我关于 Linq2DB 的最后一个问题!也许...

对于一个针对 DB2/iSeries 数据的项目,我已经完成了一些使用 Linq2DB 的学习曲线。一个问题是,虽然我的代码在测试数据库上工作得很好,但在生产中它需要为相同的对象指向不同的模式。例如,一个环境中的特定用户类将具有如下表映射:

在另一个环境中,它可能看起来像:

我还没有完全弄清楚我将如何在生产中解决这个问题。以前有没有人处理过这个问题?有没有办法用 DataContext 做到这一点?或者可能通过深入研究映射的内部?任何想法或想法表示赞赏!

0 投票
0 回答
314 浏览

c# - 如何通过流利的 api 进行 1 对多的关联

我有这个模型

而这个查询

一切正常,但我正在寻找如何通过流利的 api 进行一对多的关联。

如果我删除属性

并这样做

查询因此失败

ArgumentNullException:值不能为空。参数名称:body System.Linq.Expressions.Expression.Lambda(Expression body, string name, bool tailCall, IEnumerable parameters) System.Linq.Expressions.Expression.Lambda(Expression body, ParameterExpression[] parameters) LinqToDB.Linq.Builder。 ExpressionBuilder+<>c__DisplayClass94_0.b__1(Expression e) LinqToDB.Expressions.Extensions.Transform(Expression expr, Func func) LinqToDB.Expressions.Extensions.Transform(ICollection source, Func func) LinqToDB.Expressions.Extensions.TransformX(MethodCallExpression e, Func func) LinqToDB.Expressions.Extensions.Transform(Expression expr, Func func)

也许我写错了联想?如何以流利的语法编写 1 到多个关联的正确方法?

0 投票
1 回答
1204 浏览

asp.net-core - 我如何在 linq2db 中管理多个数据库

我想在我的应用程序中管理多个数据库连接。我正在使用 ASP.NET Core 和 linq2db。对于我的第一个数据库连接,我创建了以下配置并且工作正常。

对于我的第二个数据库

对于我的第二个数据库连接,我创建了一个类似的配置。但这不起作用。

我的 appsettings.json

}

LinqToDB.LinqToDBException:'未定义配置'DatabaseY'。

有没有其他方法可以做到这一点。

0 投票
1 回答
1173 浏览

c# - linq2db 可以创建按特定列排序但不包括该列在 SELECT 中的查询吗?

我使用 linq2db 作为我的项目(ASP.NET Core 2.2)的 ORM 和 Oracle 数据库。我想从数据库中获取按特定列排序的产品列表,但此列不需要显示在前端客户端上。

我正在寻找的 SQL 查询应该是这样的:

因此,当我在我的 C# 代码中使用 linq2db 时,如下所示:

然后 linq2db 将其转换为以下 SQL 查询:

请注意“ORDER BY NULL”,它实际上不会进行任何排序。

但是,如果我像这样在 Select() 中添加 InternalOrder:

然后我在生成的 SQL 查询中得到正确的 ORDER BY 子句:

但是,在这种情况下,我必须在 SELECT 语句中包含 InternalOrder 列,这是我想要避免的,因为我不需要在结果中使用该字段。

请注意,在实际应用程序中,我可能有非常大的表和多个我想要排序但不想包含在结果中的列。不从数据库中获取这些列的值应该可以为我节省一些性能成本。

为了代码的完整性,这里是我在上面的示例中使用的与 linq2db 相关的类:

有没有办法用 linq2db 做到这一点?

0 投票
1 回答
425 浏览

c# - Linq2Db and string.join()

I am using Linq2db in my big query with subqueries. At the one place inside it, I want to use string.Join():

But I have received an exception:

LinqException: 'Join(" -> ", value(RI.DAL.Categories.AdminCategoryPreviewDAL).GetPathQuery(value(RI.DAL.Categories.AdminCategoryPreviewDAL+<>c__DisplayClass4_0).db, c.Id).Select(pi => pi.Name))' cannot be converted to SQL.

I use Postgre SQL and it has the concat_ws function which is perfect for me. So I try to use it:

But I was failed with the same exception.


The full source code of the GetPathQuery:

0 投票
2 回答
614 浏览

.net - 如何使用 Linq2db 进行全文搜索?

我有.Net Core 2.2Linq2db提供商合作的项目MySql

如何使用带有 linq2db 的全文索引进行搜索?

是否可以为任何数据库引擎而不是数据库特定代码制作?

0 投票
1 回答
1293 浏览

linq2db - Linq2DB 和动态查询

我试图在没有创建映射它的模型的情况下执行查询。考虑这个片段

它给了我一个例外,即 Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''int' does not contain a definition for 'GRADO_PARENTELA''

我该如何处理这种情况?谢谢

0 投票
0 回答
270 浏览

sqlite - 如何使用 linq2db 和 CreateTable 设置 SQLite COLLATE NOCASE 列?

如果使用 linq2db 从类定义创建表,请帮助我如何设置列排序规则?我正在使用 linq2db 2.6.3 从 SQLite 本地应用程序数据库中获取数据

应用程序中有一种工作模式,如果数据库不存在则创建数据库。

看起来Code first方法和数据库是使用 DataConnection.CreateTable 扩展构建的

默认情况下,SQLite 对文本列有区分大小写的列排序规则。

我想用 like 创建文本COLLATE NOCASE

我发现的唯一一种方法是设置列格式并附COLLATE NOCASE加到格式字符串,如下所示

它有效,但有更方便的方法来实现相同的目标吗?