.NET Core EntityFramework不为现有的MySql数据库创建脚手架

时间:2018-02-20 23:40:44

标签: mysql .net entity-framework

尝试使用Scaffolding an Existing Database in EF Core

中的说明为现有的MySql数据库创建脚手架

使用EF Core 2.0和MySQL.DataEntityFrameworkCore {Design} 6.10.6。当我在程序包管理器控制台中运行以下(编辑)命令时:

z = 0
while z != 2
    print("This program can be used to add and subtract")
    x=int(input("x:"))
    y=int(input("y:"))
    print("Choose for addition :1 or subtraction 0". Enter 2 to quit)
    z = int(input("z:"))

    if z==1:
        print("Addition selected.")
        a= x+y
        print("The sum of ",y,"and",x,"is",a)
     elif z ==0:
        print("Subtraction selected.")
        a= x-y
        print("The difference between ",y,"and",x,"is",a)
     else:
        print("Kindly input either 1 or 0") 
print "Good Bye!"

应该让我得到DB中的脚手架文件,这是一个C#类库。

相反,我得到了错误:

Scaffold-DbContext "server=111.2.33.44;port=3306;user=xxx;password=yyy;database=zzz" MySql.Data.EntityFrameworkCore  -OutputDir DB -f

问题是,我没有尝试创建数据库,只实现了现有数据库的接口。

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

我发帖时,MySql.Data.EntityFrameworkCore包不支持脚手架,并提升NotImplementedException

要从MySQL数据库中构建实体,您可以使用备用程序包Pomelo.EntityFrameworkCore.MySql(阅读使用入门部分,将DotNetCliToolReference手动添加到Microsoft.EntityFrameworkCore.Tools.DotNet)。

使用Pomelo.EntityFrameworkCore.MySql Package Manager Console的命令将如下所示:

Scaffold-DbContext "your-mysql-connection-string" Pomelo.EntityFrameworkCore.MySql -OutputDir DB -f