您的位置:首页 > 其它

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

2013-03-11 12:25 381 查看
Smark.Data一直强调以最简单和高效的方式访问数据库,在这个版本中组件引入了Query<T>对象,它是一个查询值描述对象,通过它可以更方便地进行数据查询并获取结果.组件会分析T的具体类型自动选择查询方式进行操作;在应用的时候可以直接通过Query<Employee> item=3;的方式直接得到查询数据.因此对使用者来说是一种全新方便灵活的数据库操作途径.

T类型和设置值分析

组件会把T类型分为三种类型,第一种是返回值类型或string,第二种是实体类型,第三种是实体列表IList<T>.组件会根据这几种类型会初始化不同加载器.T类型会根据设置的值选择执行的路径,因此不同类型设置不同值也需要注意,如果没有匹配那会导致运行错误并提示相关错误信息.

T是值类型或String

支持转换SQL或存储过程

T是实体类型

支持转换值类型,SQL,条件表达式或存储过程

T是列表类型

支持转换SQL,条件表达式或存储过程

测试应用用例

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

在1.8中Query<T>所担当的角色是比较重要的,它会自动分析类型和设置的值来进行相应的数据查询并返回值,从而使数据库操作变得更简和方便.不过前提是适应这种操作.

项目地址:http://smark.codeplex.com

相关资料:http://www.ikende.com/SmarkData.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: