zoukankan      html  css  js  c++  java
  • 开源数据访问组件Smark.Data 1.8

    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

    访问Beetlex的Github
  • 相关阅读:
    ZOJ3513_Human or Pig
    ZOJ2083_Win the Game
    ZOJ2725_Digital Deletions
    ZOJ2686_Cycle Gameu
    UVALive
    ZOJ2290_Game
    ZOJ3067_Nim
    P3159 [CQOI2012]交换棋子(费用流)
    P3153 [CQOI2009]跳舞(最大流多重匹配)
    P3121 [USACO15FEB]审查(黄金)Censoring (Gold)(ac自动机)
  • 原文地址:https://www.cnblogs.com/smark/p/2953770.html
Copyright © 2011-2022 走看看