相关疑难解决方法(0)

IEnumerable <T>/IQueryable <T>上的动态LINQ OrderBy

我在动态LINQ 的VS2008示例中找到了一个示例,它允许您使用类似sql的字符串(例如,OrderBy("Name, Age DESC"))用于排序.不幸的是,包含的方法仅适用于IQueryable<T>;.有没有办法获得此功能IEnumerable<T>

c# linq linq-to-objects

657
推荐指数
12
解决办法
26万
查看次数

c# - 使用嵌套属性动态生成linq select

目前我们有一个包从字符串中的字段动态生成linq select.它适用于平面属性,但它不适用于像someObj.NestedObj.SomeField这样的嵌套字段.

我们当前的代码在服务方法中如下所示:

_context.Shipments
    .Where(s => s.Id == request.Id) // it does not matter just an example
    .Select(request.Fields)
    .ToPage(request); // ToPage extension comes from a nuget package
Run Code Online (Sandbox Code Playgroud)

请求对象的参数"fields"只是一个用逗号分隔的字符串,包括Shipment对象的属性.

我对Shipment进行了一些重构,我将一些字段分组为一个名为Address的新类,并将其添加到Shipment中,如下所示:

// before refactoring
class Shipment {
    // other fields...
    public string SenderAddress;
    public string SenderCityName;
    public string SenderCityId;

    public string RecipientAddress;
    public string CityName;
    public string CityId;
}

// after refactoring
class Shipment {
   // other fields...
   public Address Sender;
   public Address Recipient;
}

class Address {
    public string AddressText;
    public …
Run Code Online (Sandbox Code Playgroud)

c# linq select dynamic

5
推荐指数
1
解决办法
1454
查看次数

标签 统计

c# ×2

linq ×2

dynamic ×1

linq-to-objects ×1

select ×1