问题标签 [pomelo-entityframeworkcore-mysql]

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 回答
256 浏览

mysql - EntityFrameworkCore 2.2 和 MySql 查询无法翻译,将在本地评估

我正在尝试将使用 .net core sdk 2.2 构建的自包含应用程序发布到 ubuntu 18.04-x64。该应用程序通过Pomelo.EntityFrameworkCore.MySql连接到 MySQL并且通常运行良好,但我注意到 EntityFrameworkCore 构建 SQL 查询的方式有所不同。在我的开发机器上,以下代码

转化为查询

其中括号中的查询是常量 Sql.GetSuggestions。在生产中,只有内部查询被发送到数据库,并且在 sql 日志行之前会出现警告:

该应用程序是使用以下命令构建和发布的:

使用 2.2.110 .net core sdk

现在有些奇怪:当我将存储库拉到 ubuntu 并使用相同的 SDK 和相同的命令在服务器上构建时,查询构造符合预期。我的开发机器是带有 IDE Visual Studio 2017 的 Win10Enterprise。

我究竟做错了什么?

0 投票
3 回答
367 浏览

mysql - 在 .Net Core 中使用日期范围从数据库中查询

我收到一个 MySql 数据库,其中一个表有一个字符串格式的 Date 列,现在我需要使用 Pomelo 和 EF Core 构建一个 .Net 核心服务器,并且要求我的服务器可以在一个日期范围内从该表中查询数据,但由于该表的日期列是字符串格式,所以我不知道如何查询它,请帮助。谢谢!

0 投票
1 回答
1525 浏览

c# - Pomelo 中的 UseMySql 抛出异常

所以我看到了 .NET Core 的 Pomelo 包最奇怪的行为。

我在单元测试中有上面的代码来设置连接到 AWS 中的 MySQL 数据库。这已经工作了大约一个星期。但是,从今天开始,到optionsBuilder.UseMySql(cn);现在为止,我遇到了一个例外。

这一直运作良好。我没有更新任何库,但它失败了,我无法连接。有什么想法吗?我正在使用 .NET Core 3.1 和 pomelo 版本 3.0.1。

0 投票
2 回答
305 浏览

c# - Pomelo C#:我无法导入没有数据的表

我无法在 C# 上使用Pomelo导入,这是几个没有数据的表。

我有一个错误

序列不包含匹配元素

你有什么解决办法吗?

0 投票
0 回答
92 浏览

c# - 如何将 STRAIGHT_JOIN 与 LINQ 和实体框架 - MySQL 一起使用?

我正在为 MySQL 和实体框架使用 Pomelo.EntityFrameworkCore.MySql 提供程序。

我有一个使用 LINQ 和 EF 的复杂动态生成的查询:

本质上,主查询排除了任何子查询中的所有帐户 ID。

如果我在 SQL 中运行原始查询,则需要 2 分钟。如果我唯一更改的是将 STRAIGHT_JOIN 添加到原始查询中,则只需几秒钟。我猜它告诉优化器按顺序运行查询而不是尝试优化。

那么如何将等效的 STRAIGHT_JOIN 添加到 LINQ 查询中......?

0 投票
1 回答
336 浏览

entity-framework-core - MySQL DB 的 Pomelo Entity Framework Core Scaffolding 失败“无法添加注释,因为已经存在同名的注释。”

当我尝试使用以下方法构建现有 MySQL DB 时:

Scaffold-DbContext "server=server;user=user;password=pw;database=db" "Pomelo.EntityFrameworkCore.MySql" -OutputDir EF -f

我收到以下错误:

我已经成功地使用 Microsoft 包在同一个项目中为同一个数据库搭建了脚手架,没有任何问题。

0 投票
4 回答
54 浏览

.net - 抛出异常使用流利的api从组中获取项目

这是我要完成的查询:

这是联系人实体:

此代码引发此异常:

.ToList()' 无法翻译。以可翻译的形式重写查询,或通过插入对 AsEnumerable()、AsAsyncEnumerable()、ToList() 或 ToListAsync() 的调用显式切换到客户端评估。

我已经看到执行 ToList() 的示例可以毫无问题地检索组项目,但是,不知道我的代码中发生了什么。

PD 经过更多测试后,我注意到调用 First()、Last() 等时也出现同样的错误。但是例如 Count() 可以工作。奇怪的!

0 投票
2 回答
5292 浏览

mysql - 尝试在与 Pomelo.EntityFrameworkCore.MySql 相关的 dotnet core 3.1 中添加迁移时出错

我收到此错误时,


来自程序集“Pomelo.EntityFrameworkCore.MySql,版本=3.2.3.0,文化=中性,PublicKeyToken=2cc498582444921b”的“Pomelo.EntityFrameworkCore.MySql.Query.ExpressionVisitors.Internal.MySqlSqlTranslatingExpressionVisitorFactory”类型中的方法“创建”没有实现。

Entity Framework Core .NET 命令行工具 5.0.0-rc.2.20475.6

完全错误 -


依赖项 -

appsetting.js

启动.cs -

0 投票
1 回答
62 浏览

c# - Fluent API - 多对多与鉴别器

情况

我们在 MySQL 中有以下表(我们不能更改表布局或添加新表)。

餐桌俱乐部:

桌俱乐部2类

表类别

目前有两种类别:AgeCategory 和 PriceCategory。

以下是所需的 C# 类结构。

分类:

俱乐部:

和链接表:

问题

然而,我们不确定我们将如何使用 Fluent API 进行导航属性映射,因为我们在基本上是表俱乐部和表类别之间有一对多和多对多的关系。使用数据库 ID 做所有事情只能正常工作,但是使用实体框架的好处应该是不必手动处理 ID。

我试过的

为了测试,我实现了两个新类并像这样修改了俱乐部类:

然后我尝试像这样设置映射

但是现在我需要在 club2category 链接表中添加额外的鉴别器,以便能够区分 和 的ClubAgeCategory实例ClubPriceCategory

在这一点上,我不知道你将如何实现这样的东西。任何帮助将不胜感激。

0 投票
1 回答
553 浏览

c# - C# Fluent API 将两个属性映射到同一列

我的问题实际上很简单:

这是 MySQL 表"ClubCategory"。如您所见,它将俱乐部与类别联系起来。

问题如下:我的支持 C# 类必须实现一个接口,该接口指定一个名为OtherIdwhere的附加属性,OtherId它只是CategoryId.

该类如下所示

我基本上需要能够使用ClubCategory.CategoryIdClubCategory.OtherId访问相同的数据库列CategoryId

我尝试的 Fluent API 映射如下所示:

但是,在访问此类的实例时生成的 MySQL 查询

显然是彻底坏掉了。它不仅指定CategoryId了两次,而且还尝试访问OtherId数据库中不存在的虚构列:|

那么我需要在 Fluent API 中进行哪些更改才能成功地将两个属性映射到同一个 MySQL 列?或者有可能吗?任何帮助将不胜感激:)