DataQuicker 0.9.0
DataQuicker 提升透明度,加速您的应用程序构建,并减少应用程序和数据库之间的耦合。它支持通过附带的工具将表/视图转换为 DAL。 它可以几乎完全消除您在 DAL 设计和编码上的工作...
在数据库应用程序中,数据访问层充当数据表(关系宇宙)和业务对象(业务域)之间的桥梁; 在 .NET 世界中,这些通常被构建为 ADO/.NET 数据集/数据表的扩展。
DataQuicker 扩展了构建数据访问层的功能并简化了开发,并提供了构建应用程序的有效且简单的框架。 但它也基于 ADO.NET。 我认为这种方法没有问题,事实上,它对于中小型数据库应用程序来说非常有效。 它是一个对象关系映射器,顾名思义,它提供了一个将关系数据映射到业务对象的框架。 像许多 OR 框架一样,它基于域模型生成(或要求您手动创建)类(对象),它们的框架类负责映射和格式化数据,以便安全准确地持久化数据。
与其他 O/R 映射的不同之处在于,DataQuicker 提供了模型包装数据列。 类 FieldMapping
是不同特殊列类型的 abstract
包装器。 它集成了(缓存)列的详细信息,例如最大长度、正则表达式(我们应该在开始时在类中指定正则表达式)、可为空、默认值等。 借助这些信息,DataQuicker 可以在不连接数据库的情况下自动检查列数据的有效性。 这意味着无需手动验证数据,并且它还将加速应用程序。 这样,应用程序完全依赖于数据库的设计。 数据库更改,验证也将同时更改。
此外,DataQuicker 提供了分析数据库并为不同数据库生成映射类的辅助工具。 这是构建高性能数据库应用程序的有效方法。
众所周知,通常项目开发由三个级别组成:UI、业务和 DAL。 根据我过去的经验,DAL 大约会花费我们 30% 的精力。 业务是 40%。 现在,有了 DataQuicker,我确信它可以减少所有 DAL 设计和编码的工作,此外,它还可以减少一些业务编码的工作。
目前,DataQuicker 仅支持 SQL Server 和 Access,但我很快就会做更多。
简短的代码示例
我们假设我们已经正确配置了 DataQuicker。
插入一条记录
Employees employee = Employees.CreateInstrance();
employee.LastName += "Jian";
employee.FirstName += "Liu";
employee.Title += "Software Engineer";
employee.TitleOfCourtesy += "Mr.";
employee.BirthDate += new DateTime(1982, 2, 7);
employee.HireDate += new DateTime(2005, 6, 28);
new SqlProvider().Insert(employee);
更新订单
Employees employee = Employees.CreateInstrance(5);
Customers customer = Customers.CreateInstrance("HANAR");
Orders order = Orders.CreateInstrance(10248);
order.Employees = employee;
order.Customers = customer;
new SqlProvider().Update(employee);
事务
//Our purpose: insert a employee first, then update the order
Employees employee = Employees.CreateInstrance();
employee.LastName += "Jian";
employee.FirstName += "Liu";
Orders order = Orders.CreateInstrance(10248);
order.Employees = employee;
SqlProvider provider = new SqlProvider();
provider.BeginTrans(); //Begin transaction
try
{
provider.Insert(employee);
provider.Update(order);
}
finally
{
provider.Commit();
}
实际上,DataQuicker 帮助文档中包含了几篇文章。 我们也可以参考 NUnit 项目的源代码来获取更多代码示例。 所以,如果你感兴趣,为什么不下载并立即尝试一下呢?
下一版本的新升级
现在我正在紧张地升级 0.9.2 版本。 更改显然是指
- 删除在
FieldMapping
/EntityMapping
上的查询条件设置,但创建了一个Query
类来代替它们。 因此,在 0.9.2 中,当我们渴望数据集合时,我们必须参考Query
对象。 查询可以比现在更好地支持聚合函数、分组子句。 - 改进提供程序和分析器组件,使用
IDbCommand
和IDataParameter
代替组合 SQL。 这更安全、更有效。 - 设计时分离实体。 基本上,如果我们只 CRUD,则无需关心表/视图的关联。 仅查询,因此,如果我们要获取关联结果,则必须在查询时动态设置表/视图之间的关联。
- 支持多主键,但不幸的是,DataQuicker 无法自动管理多主键。 我们必须手动设置它的值。 对于单主键,我们也可以设置
DQIncrease
/Guid
的管理方式。
我希望您对 DataQuicker 感到满意。 如果是这样,请为我们评价这篇文章! 谢谢。