相关疑难解决方法(0)

将表达式树从类型转换为具有复杂映射的另一种类型

这个答案的启发我试图将模型类的属性映射到基于实际实体的表达式.这是涉及的两个类:

public class Customer
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Id { get; set; }
    public DateTime? BirthDate { get; set; }
    public int CustomerTypeId { get; set; }
}

public class CustomerModel
{
    ...
    public bool HasEvenId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想要转换的可能表达式的示例是:

Expression<Func<CustomerModel, bool>> from = model => model.HasEvenId;
Expression<Func<Customer, bool>> to = entity => ((entity.Id % 2) == 0);
Run Code Online (Sandbox Code Playgroud)

问题是我必须通过ASP.NET WebAPI公开OData端点,但是我需要先对实体进行一些操作,因此需要一个模型类,需要根据模型转换表达式我可以在基于实体的表达式中接收OData查询,我将用它来查询EF4.

这是我到目前为止的地方:

private static …
Run Code Online (Sandbox Code Playgroud)

linq entity-framework expression-trees asp.net-web-api

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