没法了,使用映射暴力解决...
namespace a
public b
{
//把所有查询用的实体放在这里,公开
public table1 v1 = new table1() { column1 = "1" };
public table2 v2 = new table2() { column1 = "2" };
public void Select(string vi_field = "v1_column1",string type = "asc")
{
// 自己拆分一下,起名的时候对应上规则
// vi = "v1",名称对应实例化的变量名
// field = "column1",对应实体类中的属性
var Oc = this.GetType().GetField(vi).GetValue(this);
OQL q = OQL.From(v1)
.InnerJoin(v2)
.On(v1.ID, v2.ID)
.Select(v1.column1, v2.column1)
.OrderBy(Oc.GetType().GetProperty(field).GetValue(Oc), type)
.END;
//解决单排序字段的动态排序问题,不用构造视图了
}
}