ps:先讲一个笑话
话说医生orm的生成工具的源码价值10RMB,这是什么概念呢?是在4环附近请医生吃一碗兰州拉面,在6环吃两碗,如果在1环请呢?医生在找我10rmb,所以大家还是在一环请他吃饭吧,买它工具转账什么的太麻烦了,让他带上工具源码+10rmb来一环。。。。。。。。。。。。。。。。。。。。。。
上周看看了看简单的基本操作,剩下就是where、group、count、delete 等常用操作
相关的基本的sql和model见:
医生的 where and or 简直就是琵琶,建议医生做个demo出来走两步,让大家围观一下
我的文章在注释里面!
Delete的demo
医生的dele操作没有逻辑删除字段是在是欠妥,应该加一个逻辑删除和物理删除的
protected void Page_Load(object sender, EventArgs e)
{
SuperMarket.userinfo objuserinfo = new SuperMarket.userinfo();
EntityQueryquery2 = new EntityQuery (objuserinfo, true);
//根据id删除
objuserinfo.id = 37;
int flag = query2.Delete(objuserinfo);
Response.Write(flag);
//话说根据一个where条件批量删除该怎么弄呢?
}
count的demo
protected void Page_Load(object sender, EventArgs e)
{
SuperMarket.userinfo objuserinfo = new SuperMarket.userinfo();
EntityQueryquery2 = new EntityQuery
(objuserinfo, true);
OQL Query = new OQL(objuserinfo);
OQL result = Query.Select().Count(objuserinfo.id, "id").END;
//ps 由于不知道医生这个orm暂时如何查询偶返回第一行第一列
// 但医生的orm的对应关系,你懂得,这就是知道原理的好处。。。。。。。。。。。。。。
// 弱弱的问一下医生,如果写下面的代码????????????????
SuperMarket.userinfo objuserinfo2 = EntityQuery.QueryObject(result);
Response.Write(objuserinfo2.id);
}
group 的demo
protected void Page_Load(object sender, EventArgs e)
{
SuperMarket.userinfo objuserinfo = new SuperMarket.userinfo();
EntityQueryquery2 = new EntityQuery
(objuserinfo, true);
OQL Query = new OQL(objuserinfo);
OQL myusery = Query.Select(objuserinfo.username).GroupBy(objuserinfo.username).END;
//话说这个地方,我怎么知道一个 oql 是返回一个list 还是一个model???还是一个 int。。。。。
//
List< SuperMarket.userinfo> objuserinfo2 = EntityQuery.QueryList(myusery);
foreach (SuperMarket.userinfo item in objuserinfo2)
{
Response.Write(item.username+"");
}
}
where and or 的demo
protected void Page_Load(object sender, EventArgs e)
{
///
// PS 吐槽一下,每一个查询,都要实例化这三个东西,是不是有点多余??。。。。。。。
SuperMarket.userinfo objuserinfo = new SuperMarket.userinfo();
EntityQueryquery2 = new EntityQuery
(objuserinfo, true);
OQL Query = new OQL(objuserinfo);
///
objuserinfo.username = "互联网fans";
OQL Query1 = Query.Select().Where(objuserinfo.username, "=" ).END;
List< SuperMarket.userinfo> test1 = EntityQuery.QueryList(Query1);
//我去,这种老百姓喜欢的写法竟然不支持,话说这个写法也太奇葩了
// OQL Query1= Query.Select().Where(objuserinfo.username = "互联网fans").END;
//默认应该是and吧
objuserinfo.userpassword="1234567";
OQL Query2 = Query.Select().Where(objuserinfo.username, "=", objuserinfo.userpassword,"=" ).END;
Listtest2 = EntityQuery .QueryList(Query2);
//来一个 or
//是在是太矛盾了 这个地方又要赋值了,无力吐槽了
//OQL Query3 = Query.Select().Where(objuserinfo.username, "=", Query.Condition.OR(objuserinfo.userpassword, "=", "1234567")).END;
//这个方式也不支持。。。。。。。。
OQL Query3 = Query.Select().Where(Query.Condition.OR(objuserinfo.userpassword, "=", "1234567").OR(objuserinfo.username, "=", "互联网fans")).END;
Listtest3 = EntityQuery .QueryList(Query3);
//这个到底是and 还是or 呢?圆方怎么看医生呢?
OQL Query4 = Query.Select().Where(Query.Condition.OR(objuserinfo.userpassword, "=", "1234567").AND(objuserinfo.username, "=", "互联网fans")).END;
Listtest4 = EntityQuery .QueryList(Query4);
//更复杂的 and 和or
//根据不同条件拼接 and 和or
//医生来做个示范动作!
}