ObjectQuery for Castle.ActiveRecord 使用指南(1):入门
2006-10-17 13:37
555 查看
一、创建领域模型(一些具有[ActiveRecord]属性的类)
此部分内容可以参考TerryLee的《Castle ActiveRecord学习实践》系列,这里不再一一说明。
你可以选择把ObjectQuery.dll添加到你项目的引用中,然后以ObjectQuery.EntityBase<T>作为实体类的基类,例如你原来有个实体类:
public class Blog : ActiveRecordBase
public class Blog : ObjectQuery.EntityBase<Blog>
ObjectQuery.Generator.exe cs c:\project\Test\bin\debug\Test.exe c:\project\Test
其中第一个参数为cs或者vb,表示生成代码的语言;第二个参数为你生成的领域模型程序集的路径;第三个参数为生成代码存放的目录。
这样,将会在c:\project\Test目录下面生成的文件ObjectQuery.gen.cs,将它 加入你的项目,这样就可以使用ObjectQuery的强大功能了。
生成的文件中包含两个类的定义:
public class DB
public class Criteria
public class Criteria
public class DB
{
public static Criteria.BlogCriteria Blog = new Criteria.BlogCriteria();
}
三、使用ObjectQuery类进行查询
Blog blog = Query.From(DB.Blog).Where(DB.Blog.Name == "my blog").FindFirst();
或者:
Criteria.BlogCriteria b = new Criteria.BlogCriteria("b");
Blog blog = Query.From(b).Where(b.Name == "my blog").FindFirst();
或者(如果Blog实体类继承自ObjectQuery.EntityBase<T>):
Blog blog = Blog.FindFirst(DB.Blog.Name == "my blog");
或者:
Blog blog = Mediator<Blog>.FindFirst(DB.Blog.Name == "my blog");
以上四种查询方法的效果是一样的。
关于查询的详细说明,将在后续文章中给出。
下载:ObjectQuery.src.rar 44KB
ObjectQuery.bin.rar 611KB
此部分内容可以参考TerryLee的《Castle ActiveRecord学习实践》系列,这里不再一一说明。
你可以选择把ObjectQuery.dll添加到你项目的引用中,然后以ObjectQuery.EntityBase<T>作为实体类的基类,例如你原来有个实体类:
public class Blog : ActiveRecordBase
public class Blog : ObjectQuery.EntityBase<Blog>
ObjectQuery.Generator.exe cs c:\project\Test\bin\debug\Test.exe c:\project\Test
其中第一个参数为cs或者vb,表示生成代码的语言;第二个参数为你生成的领域模型程序集的路径;第三个参数为生成代码存放的目录。
这样,将会在c:\project\Test目录下面生成的文件ObjectQuery.gen.cs,将它 加入你的项目,这样就可以使用ObjectQuery的强大功能了。
生成的文件中包含两个类的定义:
public class DB
public class Criteria
public class Criteria
public class DB
{
public static Criteria.BlogCriteria Blog = new Criteria.BlogCriteria();
}
三、使用ObjectQuery类进行查询
Blog blog = Query.From(DB.Blog).Where(DB.Blog.Name == "my blog").FindFirst();
或者:
Criteria.BlogCriteria b = new Criteria.BlogCriteria("b");
Blog blog = Query.From(b).Where(b.Name == "my blog").FindFirst();
或者(如果Blog实体类继承自ObjectQuery.EntityBase<T>):
Blog blog = Blog.FindFirst(DB.Blog.Name == "my blog");
或者:
Blog blog = Mediator<Blog>.FindFirst(DB.Blog.Name == "my blog");
以上四种查询方法的效果是一样的。
关于查询的详细说明,将在后续文章中给出。
下载:ObjectQuery.src.rar 44KB
ObjectQuery.bin.rar 611KB
相关文章推荐
- ObjectQuery for Castle.ActiveRecord 使用指南(1):Joins
- ObjectQuery for Castle.ActiveRecord 使用指南(1):From语句
- Castle Active Record for .NET2.0快速入门示例
- Castle Active Record for .NET2.0快速入门示例
- Castle Active Record for .NET2.0快速入门示例
- C#.Net Castle ActiveRecord学习实践(1):快速入门指南
- C#.Net Castle Active Record for .NET2.0快速入门示例
- Castle Active Record for .NET2.0快速入门示例
- Castle Active Record for .NET2.0快速入门示例
- Castle Active Record for .NET2.0快速入门示例
- Castle Active Record for .NET2.0快速入门示例
- Castle Active Record for .NET2.0快速入门示例
- 使用Castle.ActiveRecord的注意事项之三:继承
- 在使用Spring中jdbcTemplate的QueryForObject()方法时异常:EmptyResultDataAccessException
- Castle ActiveRecord学习实践(7):使用HQL查询
- Castle.ActiveRecord 使用 存储过程 返回实体类
- Castle ActiveRecord 使用动态填写参数方式配置数据库连接
- Castle ActiveRecord学习实践(6):延迟加载和使用Where子句
- Castle ActiveRecord使用笔记
- C#.Net Castle ActiveRecord学习实践(6):延迟加载和使用Where子句