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