受这个答案的启发我试图将模型类的属性映射到基于实际实体的表达式.这是涉及的两个类:
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)