zoukankan      html  css  js  c++  java
  • LINQ TO SQL:直接执行查询和命令

    LINQ TO SQL提供了基于数据库表的强类型访问方式,但仍然有朋友老是说,能不能还是直接编写T-SQL进行查询和操作呢?因为我知道很多之前查询的系统需要支持更加动态化和用户定制化的查询。

    答案当然是可以的

    using System;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
    
    
                NorthwindDataContext db = new NorthwindDataContext();
                var query = db.ExecuteQuery<Customers>("GetAllCustomers");//直接调用一个存储过程
                foreach (var item in query)
                {
                    Console.WriteLine(item.CustomerID);
                }
    
                var query2 = db.ExecuteQuery<Customers>("SELECT CustomerID FROM Customers");//直接编写一个查询语句
                foreach (var item in query2)
                {
                    Console.WriteLine(item.CustomerID);
                }
    
                var query3 = db.ExecuteQuery<Customers>(
                    "SELECT CustomerID FROM Customers WHERE Country={0}","USA");//传递参数
                //注意:这里的参数不是SQLParamter
    
                foreach (var item in query3)
                {
                    Console.WriteLine(item.CustomerID);
                }
            }
    
    
        }
    }
    

    这里的特殊之处,在于ExecuteQuery返回的仍然是强类型。这没有什么不好。但这一点就要求返回的列必须在实体类中有对应的属性,它会自动反射创建一个类型出来。如果提供的属性不够,则其他的属性会设置为NULL

    除了查询,也可以直接调用语句或者存储过程进行操作(INSERT ,UPDATE, DELETE等等)

                db.ExecuteCommand("INSERT INTO Orders VALUES({0},'{1}')", 1, "Test");
    

  • 相关阅读:
    实现h5中radio单击取消与选中
    小程序中的组件化理解
    阿里字体css代码引入方法
    前端布局心得小结
    Python学习资源汇总,转载自他人
    史上最全 原生javascript的知识总结,适合新手及查资料用!
    windows Python 3.4.3 安装图文
    PyInstaller编译python3时使用的详细参数介绍
    PyInstaller 安装方法 及简单的编译exe (python3)
    Windows 安装 GTK+ 图文说明
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1638184.html
Copyright © 2011-2022 走看看