Smark.Data - 开源数据访问组件


Apache
Windows
C#

软件简介

Smark.Data是基于Ado.net实现的数据访问组件,提供基于强类型的查询表达式进行灵活的数据查询,统计,修改和删除等操作;采用基于条件驱动的操作模式,使数据操作更简单轻松;内部通过标准SQL92实现对不同数据的支持,包括MSSQL,ORACLE,SQLITE,ACCESS等。
主要功能

  • 提供强类型的查询表达式,并提供基于条件表达式的数据据查询,汇总,修改,删除和编辑。
  • 提供多数库支持,运行期提供实体可对应多个数据库操作。
  • 提供基于线程的事务机制,可在不传递事务对象的情况下可以支持跨方法事务。
  • 支持表,视图和查询汇总实体描述。
  • 可在运行期动态调整实体对应的表名。
  • 支持自定义业务对象填充。
  • 支持存储过程调用描述和存储过程数据对象填充。
  • 支持自定义实体成员数据转换器,并自动应用到相应查询条件中。
  • 支持自定义实体成员数据验证,并可能通过数据查询的方式来验证成员数据有效性.
  • 支持自定义值描述,可以根据实际情况定义不同的成员默认值,包括从mssql获取自增值,oracle序列或系统的guid值等。

1.8使用简介

[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);
    }
}