繁体   English   中英

SqlException:无效的对象名称,带有在运行时创建的对象

[英]SqlException: Invalid object name, with an object created at runtime

我有一个名为“ dbSet”的动态对象,它在运行时创建,我认为它包含一个DbSet

dynamic dbSet = context.RegisterType(GenericPOCO);

我用以下代码创建DbSet对象

internal object RegisterType<T>(T genericPOCO) where T: class
    {
        var m = this.GetType().GetMethod("Set");
        var generic = m.MakeGenericMethod(genericPOCO.GetType());

        var result = generic.Invoke(this, null);

        return result;
    }

之后,我尝试在下一行创建一个queryble对象:

var item = await EntityFrameworkQueryableExtensions.FirstOrDefaultAsync(dbSet);

在最后一行中,我收到下一条消息

SQLException:无效的对象名称'TestGatito'

“ TestGatito”是在运行时创建的动态对象的类型,此名称可以是变量,因此我无法在模型中注册该对象

我终于可以解决问题了

我必须创建一个新上下文来注册新对象,新上下文与主上下文相同,因此在nex上下文中,我可以添加新实体并适当地反射以调用DbContext的所有方法,例如“ FirstOrDefault,Find,List等” '

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM