C# 使用实体框架从数据库中选择数据的通用函数
嘿嘿,, 我试图创建一个函数,可以在程序中的任何地方调用,只要指定数据表即可。这样做的原因是,当我需要时,可以更容易地从表中获取数据,因为我可以使用此函数。到目前为止,我运气不好 我在下面抛出了我的代码:C# 使用实体框架从数据库中选择数据的通用函数,c#,entity-framework,C#,Entity Framework,嘿嘿,, 我试图创建一个函数,可以在程序中的任何地方调用,只要指定数据表即可。这样做的原因是,当我需要时,可以更容易地从表中获取数据,因为我可以使用此函数。到目前为止,我运气不好 我在下面抛出了我的代码: public DataTable SELECT(Database context) { using (DataTable dataTable = new DataTable()) {
public DataTable SELECT(Database context)
{
using (DataTable dataTable = new DataTable())
{
var query = from i in context.Names
select i;
query.CopyToDataTable(dataTable, LoadOption.PreserveChanges);
return dataTable;
}
}
我不知道如何在参数中传递所需的表。我开始怀疑这是否真的可以做到,但如果有人能帮忙,我会非常感激。“query.CopyToDataTable(dataTable,LoadOption.PreserveChanges);”我不建议您在这里使用DataTables。如果表包含一百万行,而您只需要第一行。。。这样,这种方法就过时了;-)是的,我确实想知道我是否应该,在以后的阶段,我希望添加其他参数到函数中,以允许选择我真正想要的。至于数据表,我使用它的唯一原因是因为我已经习惯了使用它。您建议使用什么?我会直接过滤
上下文.Names
。这样,查询(很可能)在服务器端执行。在使用FirstOrDefault()时,只检索了一行。您是这样想的吗?var query=(来自context.Names中的i,其中i.FirstName==“test”选择i.FirstOrDefault();是:var query=(来自context.Names中的i,其中i.FirstName==“test”选择i.FirstOrDefault()
或context.Names.Where(i=>i.FirstName==“test”).FirstOrDefault()
或直接context.Names.FirstOrDefault(i=>i.FirstName==“test”)
。有一些方法可以记录在SQL server上执行的查询“query.CopyToDataTable(dataTable,LoadOption.PreserveChanges);”我不建议您在此处使用DataTables。如果表包含一百万行,而您只需要第一行。。。这样,这种方法就过时了;-)是的,我确实想知道我是否应该,在以后的阶段,我希望添加其他参数到函数中,以允许选择我真正想要的。至于数据表,我使用它的唯一原因是因为我已经习惯了使用它。您建议使用什么?我会直接过滤上下文.Names
。这样,查询(很可能)在服务器端执行。在使用FirstOrDefault()时,只检索了一行。您是这样想的吗?var query=(来自context.Names中的i,其中i.FirstName==“test”选择i.FirstOrDefault();是:var query=(来自context.Names中的i,其中i.FirstName==“test”选择i.FirstOrDefault()
或context.Names.Where(i=>i.FirstName==“test”).FirstOrDefault()
或直接context.Names.FirstOrDefault(i=>i.FirstName==“test”)
。有一些方法可以记录在SQL server上执行的查询