簡體   English   中英

使用表名更改 DbSet

[英]Change DbSet with table name

我想知道如何使用表名更改 DbContext 上的 DbSet(而不是像示例中那樣使用修復 DbSet)。 我試過這個解決方案,但沒有結果。

        var type = Assembly.GetExecutingAssembly()
            .GetTypes()
            .FirstOrDefault(t => t.Name == tablename);

        DbSet dsContext = DbContext.Set(type);

        var data = DbContext.dsContext 
            .Where(r => r.C_NUMERICID == idLinea)
            .Where(r => r.C_TIMESTAMP > startDate)
            .OrderBy(r => r.C_TIMESTAMP)
            .ToList();

DbContext 不包含“dsContext”的定義

我查詢錯了。 這是有效的解決方案。

type = Assembly.GetExecutingAssembly()
   .GetTypes()
   .FirstOrDefault(t => t.Name == kepwareTableName);
IQueryable data = DbContext.Set(type)
   .Where($"C_NUMERICID == {idLinea}")
   .Where("C_TIMESTAMP > @0", startDate)
   .OrderBy("C_TIMESTAMP");
return data ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM