相关疑难解决方法(0)

LINQ中的动态WHERE子句

将动态WHERE子句组装到LINQ语句的最佳方法是什么?

我在表单上有几十个复选框,并将它们传递回:Dictionary <string,List <string >>(Dictionary <fieldName,List <values >>)到我的LINQ查询.

public IOrderedQueryable<ProductDetail> GetProductList(string productGroupName, string productTypeName, Dictionary<string,List<string>> filterDictionary)
{
    var q = from c in db.ProductDetail
            where c.ProductGroupName == productGroupName && c.ProductTypeName == productTypeName
            // insert dynamic filter here
            orderby c.ProductTypeName
            select c;
    return q;
}
Run Code Online (Sandbox Code Playgroud)

c# linq dynamic where-clause

54
推荐指数
6
解决办法
11万
查看次数

LINQ:动态选择

考虑我们有这个类:

    public  class Data
{
    public string Field1 { get; set; }
    public string Field2 { get; set; }
    public string Field3 { get; set; }
    public string Field4 { get; set; }
    public string Field5 { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

如何动态选择指定列?这样的事情:

  var list = new List<Data>();

  var result= list.Select("Field1,Field2"); // How ?
Run Code Online (Sandbox Code Playgroud)

这是唯一的解决方案=> 动态LINQ 吗?
编译时不知道所选字段.它们将在运行时指定

c# linq

47
推荐指数
3
解决办法
5万
查看次数

如何创建LINQ表达式树以选择匿名类型

我想使用表达式树动态生成以下select语句:

var v = from c in Countries
        where c.City == "London"
        select new {c.Name, c.Population};
Run Code Online (Sandbox Code Playgroud)

我已经研究出如何生成

var v = from c in Countries
        where c.City == "London"
        select new {c.Name};
Run Code Online (Sandbox Code Playgroud)

但我似乎无法找到一个构造函数/重载,让我在select lambda中指定多个属性.

c# linq linq-to-entities entity-framework expression-trees

45
推荐指数
3
解决办法
3万
查看次数

System.LINQ.Dynamic:在List <T>(或<T>的任何其他可枚举集合)中选择("new classname(...)")

我想要的是,而不是做

var carsPartial = cars.Select("new(name, year)").ToList();

我想做这个:

var carsPartial = cars.Select<car>("new car(name, year)").ToList<car>();
Run Code Online (Sandbox Code Playgroud)

再次感谢,如果需要请求澄清.

车类:

 public class car
{
    public string name { get; set; }
    public int year { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

什么在汽车:一堆汽车数据的名称和年份有点像数据库.

c# linq select

6
推荐指数
1
解决办法
3796
查看次数