Smark.Data开源数据访问组件
Smark.Data是基于Ado.net实现的数据访问组件,提供基于强类型的查询表达式进行灵活的数据查询,统计,修改和删除等操作;采用基于条件驱动的操作模式,使数据操作更简单轻松;内部通过标准SQL92实现对不同数据的支持,包括MSSQL,ORACLE,SQLITE,ACCESS等。
主要功能
- 提供强类型的查询表达式,并提供基于条件表达式的数据据查询,汇总,修改,删除和编辑。
- 提供多数库支持,运行期提供实体可对应多个数据库操作。
- 提供基于线程的事务机制,可在不传递事务对象的情况下可以支持跨方法事务。
- 支持表,视图和查询汇总实体描述。
- 可在运行期动态调整实体对应的表名。
- 支持自定义业务对象填充。
- 支持存储过程调用描述和存储过程数据对象填充。
- 支持自定义实体成员数据转换器,并自动应用到相应查询条件中。
- 支持自定义实体成员数据验证,并可能通过数据查询的方式来验证成员数据有效性.
- 支持自定义值描述,可以根据实际情况定义不同的成员默认值,包括从mssql获取自增值,oracle序列或系统的guid值等。
[TestMethod] public void Result_GetValue() { Query<Employee> query = 3; Console.WriteLine(query.Value.FirstName); } [TestMethod] public void Result_GetValue1() { Query<Employee> query = Employee.employeeID == 3; Console.WriteLine(query.Value.FirstName); } [TestMethod] public void Result_GetValue2() { Query<Employee> query = "employeeid=3"; Console.WriteLine(query.Value.FirstName); } [TestMethod] public void Result_GetValue3() { Query<string> query = "select firstName from employees where employeeid=3"; Console.WriteLine(query.Value); } [TestMethod] public void Result_GetValues1() { Query<List<Employee>> query = ""; foreach (Employee item in query.Value) { Console.WriteLine(item.FirstName); } } [TestMethod] public void Result_GetValues2() { //存储过程 CustOrderHist coh = new CustOrderHist(); coh.CustomerID = "ALFKI"; Query<IList<OrderHist>> query = coh; foreach (OrderHist item in query.Value) { Console.WriteLine(item.ProductName); } }
评论