c# - 新语言功能破坏了脚手架——无法获取 DbContext 的反射类型

标签 c# visual-studio default-value scaffolding

因此,新的语言功能实现了对默认关键字进行速记的选项。

public void GenericMethod<T>(T responseObject = default)
{
    //Your code here
}

代替旧的

public void GenericMethod<T>(T responseObject = default(T))
{
    //Your code here
}

在使用新速记时,我们遇到了一个错误,即无法在 dotnet 核心中构建 View 或 Controller 。 - 给出错误“运行所选代码生成器时出错:无法获取 DbContext 的反射类型:...”

通过恢复到实现“默认”的旧方法,错误消失了。

截至目前,使用 default 关键字的新方法是我们遇到的唯一一种破坏它的方法,但我认为类似的新语言功能可能会出现问题。

这不是一个真正的问题。我们只是认为传播这个错误的消息会很好;由于没有帖子涵盖此问题。

Visual Studio : Visual Studio 2019

目标框架:.NET Core 2.2

编辑:这不是 EF 的问题。如果有人试图在您使用模型类 (FooClass) 的情况下搭建一个没有 dbContext 的 View ,则错误会更改为:无法获取模型的反射类型:FooClass

最佳答案

这里有类似的问题。将其改回旧方式有效。

public static T Get<T>(this ISession session, string key)
        {
            var value = session.GetString(key);

            return value == null ? default(T) : JsonConvert.DeserializeObject<T>(value);
        }
public static T Get<T>(this ISession session, string key)
        {
            var value = session.GetString(key);

            return value == null ? default : JsonConvert.DeserializeObject<T>(value);
        }

关于c# - 新语言功能破坏了脚手架——无法获取 DbContext 的反射类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56163852/

相关文章:

c++ - 用于从头文件创建类主体的智能工具(插件?)

.net - 如何使用 'HTML Copy'扩展的 'Productivity Power Tools 2013'功能?

当在表中找不到时,mysql将值映射到默认值

c# - 使用 DataContractSerializer 时设置属性的初始值

c# - 单个 "lock"或单独的读写器锁用于 IO 操作?

c# - 无法正确解析WCF Post请求json正文

python - 如果 Jupyter 内核没有自动连接,如何将其连接到 VS Code?

c++ - 未知模板类型的默认值或零值

c# - 正则表达式 - 仅匹配一定长度或更短的通配符

c# - 将 CSS 选择器转换为 XPATH