gpt4 book ai didi

c# - 如何在 Entity Framework 中使用动态 DbSet?

转载 作者:太空狗 更新时间:2023-10-30 01:15:17 28 4
gpt4 key购买 nike

能否请您告诉我如何根据字符串变量选择 DbSet?我有以下内容:

public class DataContext : DbContext
{
public DataContext() : base("myDb") { }

public DbSet<Entry> RurEntries { get; set; }
public DbSet<Entry> UsdEntries { get; set; }
public DbSet<Entry> EurEntries { get; set; }
}

每种货币有 3 个表:Rur、Usd、Eur。都有相同的结构。有一个名为 CurrentCurrency 的字符串变量,它从 UI 更改而来,可能是 3 种货币之一。在我以前没有 Entity Framework 的代码中,我有使用纯 sql 读取 db 的代码,有点像:

string sqlQuery = "Select * from " + CurrentCurrency 

现在我决定用 Entity Framework 重写代码并面对这个问题。任何答案将不胜感激。提前致谢。

最佳答案

您只需打开当前货币字符串即可进行所需的设置:

 var db = new DataContext();
var CurrentCurrency = "RUR";
DbSet<Entry> set = null;
switch (CurrentCurrency) {
case "RUR":
set = db.RurEntries;
break;
case "EUR":
set = db.EurEntries;
break;
case "USD":
set = db.UsdEntries;
break;
default:
throw new Exception();
}
var res = set.ToList();

关于c# - 如何在 Entity Framework 中使用动态 DbSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38953186/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com