簡體   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