当前位置:首页 > 网络编程 > WEB编程 > ASP.net > Nbear使用强类型实体查询语法进行查询

Nbear使用强类型实体查询语法进行查询

点击次数:28 次 发布日期:2008-11-22 11:36:49 作者:源代码网
源代码网推荐

【IT168技术文档】

   从v2.2.1版起,NBear开始支持强类型的实体查询语法。例如,我们可以以如下的语法查询需要的数据:

LocalUser[] users = gateway.Select<LocalUser>(_Entity.LocalUser.Id > 5 | _Entity.LocalUser.LoginId == "teddy", _Entity.LocalUser.Id.Desc & _Entity.LocalUser.LoginId.Asc);

 


    注意黑体部分,Select函数的两个参数分别为两个强类型表达式,一个是一组查询条件,另一个是排序条件。

     以上代码等价于:

LocalUser[] users = gateway.Select<LocalUser>("[Id] > @Id or [LoginId] = @LoginId", "[Id] desc, [LoginId]", new object[] { 5, "teddy" });

     我们可以看到,采用第一种语法的好处有:

   强类型,对于代码错误拥有编译器错误检查;

   更直观;
 
   独立与数据库特定的SQL语法,从而隔离了业务层和特定数据库的耦合;

    使用Entity Configurator生成强类型实体查询代码

     要让程序能够访问到_Entity命名空间下的这些强类型查询对象,需要先使用Entity Configurator生成强类型实体查询代码。只需在Entity Configurator中载入实体程序集,设置要对应的元数据,点击工具的Code->Generate EntityQuery Code菜单项,再将生成的代码复制到需要的任意程序集中,生成的代码及包含了所有实体的强类型查询对象。

     可用操作符

     NBear的像类型实体查询语法支持的操作符有:&(与),|(或),==(等于),!=(不等于),>(大于),<(小与),>=(大于等于),<=(小于等于),!(否),以及.Like()注意,Like是一个函数,可以以_Entity.User.LoginId.Like("teddy")这样的方式使用。

    对于OrderBy部分,唯一的可用操作符是&,即表示组合多个排序条件

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华