Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用实体框架从数据库中选择数据的通用函数_C#_Entity Framework - Fatal编程技术网

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上执行的查询