gpt4 book ai didi

c# - Entity Framework 根据输入参数动态查询表名

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:52 26 4
gpt4 key购买 nike

我一直在一个项目中工作,该项目使用 Entity Framework 作为 ORM 数据模型来连接到 SQL 数据库并检索数据。

现在用于检索数据的基本查询是这样的

ProjectDataContext dataContext = new ProjectDataContext();   

var result = (from project in dataContext.Projects
select project).ToList();

或者在 lambda 中

List<Project> lstprojects = dataContext.Projects.Take(10);

现在我想根据一些输入参数动态传递表名。我怎样才能做到这一点?

我目前的做法有点乱。

if(tableName = "A")
{
List<A> lstOfA = dataContext.A.Take(10);
}
else if(tableName = "B")
{
List<B> lstOfB = dataContext.B.Take(10);
}

等等……

我的问题是,是否有一种简洁明了的方法可以做到这一点,而无需编写那么多 if else,因为我知道这可能会在未来导致性能问题。

谢谢

最佳答案

好的,经过一些尝试和错误,我已经能够这样做了-

var type = Type.GetType("A");
context.Set(type).Load();
var result = context.Set(type).Local.Cast<object>().ToList();

希望对您有所帮助`

关于c# - Entity Framework 根据输入参数动态查询表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33855130/

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