[英]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.