gpt4 book ai didi

mysql - 在 .net 核心和 pomelo 驱动程序上使用 EF Core 构建 mysql 时缺少存储过程

转载 作者:行者123 更新时间:2023-11-30 22:06:21 27 4
gpt4 key购买 nike

我正在尝试针对 mysql 数据库使用 EFCore 中的脚手架,生成的代码将在 Linux CentOS(NetCoreApp 框架)上运行。我正在使用 VS2015 Update3 在 Windows 上进行开发。

表已成功逆向工程,但不包括存储过程。如果没有存储过程,恐怕我们将不得不放弃 EFCore。


  • EFCore 中针对 mysql 的脚手架是否支持逆向工程存储过程?
  • 使用任意驱动程序组合?
  • 假设目前 EFCore 中没有此功能,您是否知道任何付费或未付费的解决方案来实现此目的 - 对现有 mysql 数据库进行逆向工程以在 CentOS 上的 netcoreapp 中使用?

作为示例,我从一个带有单个表和无参数存储过程的 mysql 数据库开始。我想我正在使用最新的 EFCore 和 Pomelo 驱动程序,如下面的 project.json 所示...

{
"version": "1.1.0-*",
"buildOptions": {
"emitEntryPoint": true
},

"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final"
},

"dependencies": {
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Pomelo.EntityFrameworkCore.MySql": "1.1.1-prerelease-10011",
"Pomelo.Data.MySql": "1.0.0",
"Pomelo.EntityFrameworkCore.MySql.Design": "1.1.1-prerelease-10011",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final"
},

"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0-*"
}
}
}
}
}

在完成 dotnet restore 之后,使用以下命令调用脚手架...

Scaffold-DbContext "server=localhost;user id=root;password=;database=simpledb" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -force

脚手架运行后,在我的真实用例和简单测试用例中,生成的代码只包含表,不包含存储过程。

最佳答案

Pomelo 和最新版本的 Entity Framework 存在一个已知问题。

这个配置对我有用:

Microsoft.EntityFrameWorkCore 2.0.3
Microsoft.EntityFrameworkCore.Tools 2.0.3
Pomelo.EntityFrameworkCore.MySql 2.0.1

要在 MySql 中调用存储过程,您可以使用类似的东西:

var values = _context.Test.FromSql("call test_proc2(0)").ToList();

关于mysql - 在 .net 核心和 pomelo 驱动程序上使用 EF Core 构建 mysql 时缺少存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41595535/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com