Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
Linq动态选择列和表_Linq_Dynamic - Fatal编程技术网

Linq动态选择列和表

Linq动态选择列和表,linq,dynamic,Linq,Dynamic,您好,我是如何进行动态选择列查询的 范例 CrewEntities _DbEntities = new CrewEntities(); // I'm using object context public class CrewItem { public string Name { get; set; } public string LastName { get; set; } } //我只想列出名称列

您好,我是如何进行动态选择列查询的

范例

 CrewEntities _DbEntities = new CrewEntities(); // I'm using object context



  public class CrewItem
        {
            public string Name { get; set; }
            public string LastName { get; set; }
        }
//我只想列出名称列

var NameList = GetDynamicColumn("Name"); 

我只想列出LastName列
var LastNameList=GetDynamicColumn(“名称”);
publict List GetDynamicColumn(字符串列)
{
var query=来自p in_DbEntities.t_Crew
选择p;
}
我如何做动态选择表查询

范例

 CrewEntities _DbEntities = new CrewEntities(); // I'm using object context



  public class CrewItem
        {
            public string Name { get; set; }
            public string LastName { get; set; }
        }
我的sql表>>t_乘员,t_人

var crewTable = GetDynamicTable("t_Crew");
var personTable = GetDynamicTable("t_Person");


    publict List<CrewItem> GetDynamicTable(string tableName)
    {
       var query = from p in _DbEntities.???
                   select p;
    }
var crewTable=GetDynamicTable(“t_Crew”);
var personTable=GetDynamicTable(“t_Person”);
publict List GetDynamicTable(字符串表名)
{
var query=来自p的数据实体。???
选择p;
}

感谢您回答问题的第二部分,如果您使用Linq2SQL获取动态表数据,则可以使用此查询

public IQueryable<TEntity> GetDynamicTable<TEntity>()
{
   return  _DbEntities.GetTable<TEntity>().Select(i => i);
}
public IQueryable GetDynamicTable()
{
返回_DbEntities.GetTable().Select(i=>i);
}
或者使用过滤器(其中),您可以编写:

public IQueryable<TEntity> GetDynamicTable<TEntity>(Expression<Func<TEntity, bool>> expression)
{
   return  _DbEntities.GetTable<TEntity>().Select(i => i).Where(expression).AsQueryable();
}
public IQueryable GetDynamicTable(表达式)
{
return _DbEntities.GetTable().Select(i=>i).Where(expression.AsQueryable();
}

您好,谢谢您的回答我如何进行动态选择列查询?我已经安装了Linq2SQL,但查询不起作用错误2'CrewNetixData.CrewEntities'不包含'GetTable'的定义,并且找不到接受'CrewNetixData.CrewEntities'类型的第一个参数的扩展方法'GetTable'(是否缺少using指令或程序集引用?)C:\TFS\ShipProjects\ShipManager\Areas\CrewNetixData\Entity\Concrete\Crew.cs 505 32CrewNetixData@user3575477DataContext有这个方法,如果您在DataContext上使用Linq2SQL调用getTable,您可以将DataContext传递给您的方法或拥有一个通用DataContext。可能重复的(只是许多中的一个)。请始终首先假定您的问题以前有人问过。动态LINQ是StackOverflow经常讨论的话题。