【问题标题】:Unable to cast object of type 'System.DBNull' to type 'System.String' in Scaffold-DbContext .Net Core无法在 Scaffold-DbContext .Net Core 中将“System.DBNull”类型的对象转换为“System.String”类型
【发布时间】:2021-08-11 03:34:45
【问题描述】:

我使用以下方法来使用数据库:

Scaffold-DbContext "Server=[serverName] ; Database=[DatabaseName]; user id= [UserId] ; password = [Password];" 
        Microsoft.EntityFrameworkCore.SqlServer 
        -Project "[ProjectName]" -Force 
        -ContextDir "[DirectoryNameOutPut]\Context" 
        -OutputDir "[DirectoryNameOutPut]" 
        -UseDatabaseNames -NoPluralize

但在某些数据库中,我收到此错误:

无法将“System.DBNull”类型的对象转换为“System.String”类型

Scaffold-DbContext 命令写入包管理器控制台后发生此错误,我按 Enter 并且未对任何表进行分类。

我可以做些什么来修复这个错误?

【问题讨论】:

    标签: c# database entity-framework-core ef-database-first package-manager-console


    【解决方案1】:

    -Verbose 标志添加到您的Scaffold-DbContext 以获取更多详细信息。

    Scaffold-DbContext "Server=[serverName] ; Database=[DatabaseName]; user id= [UserId] ; password = [Password];" 
            Microsoft.EntityFrameworkCore.SqlServer 
            -Project "[ProjectName]" -Force 
            -ContextDir "[DirectoryNameOutPut]\Context" 
            -OutputDir "[DirectoryNameOutPut]" 
            -UseDatabaseNames -NoPluralize
            -Verbose
    

    【讨论】:

    • 给出了一系列信息,不清楚如何从这些信息中找到错误? @MrMoeinM
    • @MohammadHasanSalmanian 您能否更新您的问题并分享此信息。
    猜你喜欢
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多