0
我正在玩查询对象“模式”的基本实现(在引号中,因为这是解释器模式的实现),并且我正在考虑增强我不知道如何实施。在C#和Expression Trees中玩对象查询“模式”
正如你知道一个标准的对象看起来像以下:
public class Criterion
{
...
string FieldName { get; set; }
string Value { get; set; }
....
}
我不喜欢的是事实,我必须添加字段中输入字符串,所以我想如果我能创造一些类似的通用Criterion类,所以我可以像这样使用它:
var criterion = new Criterion<Person>();
criterion.Field = c => c.FirstName;
criterion.Value = "John";
或沿着这些线的东西。
当然有也将是其中的标准需要被转换成SQL,所以我可以做这样的事情的一部分:
string query = "SELECT * FROM Person WHERE " + criteria.Field.ToString() + " = '" + criteria.Value + "'"
我可以肯定得是这样做的方式,但我只是我的头不能包裹它。
感谢您的帮助。
可能重复[获取方法名称和类型使用lambda表达式](http://stackoverflow.com/questions/273941/get-method-name-and-type-using-lambda-表达) – nawfal 2013-04-27 12:41:44