• Linq- ExcuteQuery用法


    DataContext.ExecuteQuery<TResult> 方法 (String, Object[])

    语法:

    public IEnumerable<TResult> ExecuteQuery<TResult>(
        string query,
        params Object[] parameters
    )

    类型参数:

    TResult:返回的集合中的元素的类型。

    参数:

    query
    类型:System.String
    要执行的 SQL 查询。
    parameters
    类型:System.Object[]
    要传递给命令的参数数组。 注意下面的行为: 
    如果数组中的对象的数目小于命令字符串中已标识的最大数,则会引发异常。
    如果数组包含未在命令字符串中引用的对象,则不会引发异常。
    如果某参数为 null,则该参数会转换为 DBNull.Value

    返回值

    类型:System.Collections.Generic.IEnumerable<TResult>
    由查询返回的对象的集合。
     
    备注:

    当 LINQ to SQL 不足以应对特定方案时,此方法可用作一种传递机制。

    使查询结果中的列与对象中的字段和属性相匹配的算法如下所示:

    • 如果字段或属性映射到特定列名称,则结果集中应包含该列名称。

    • 如果未映射字段或属性,则结果集中应包含其名称与该字段或属性相同的列。

    • 通过先查找区分大小写的匹配来执行比较。 如果未找到匹配项,则会继续搜索不区分大小写的匹配项。

    • 如果同时满足下列所有条件,则该查询应当返回(除延迟加载的对象外的)对象的所有跟踪的字段和属性:

      • 如果 <T> 是由 DataContext 显式跟踪的实体。

      • ObjectTrackingEnabled 为 true。

      • 实体具有主键。

      否则会引发异常。

    • 在所有其他情况下,查询只能检索对象的已跟踪字段和属性的子集。

    下面的 C# 代码段显示此方法的一个用途:

    var customers = db.ExecuteQuery<Customer>(@"SELECT CustomerID, CompanyName, ContactName, ContactTitle, 
       Address, City, Region, PostalCode, Country, Phone, Fax
       FROM   dbo.Customers
       WHERE  City = {0}", "London");
    
    foreach (Customer c in customers)
       Console.WriteLine(c.ContactName);
  • 相关阅读:
    使用Python创建TCP代理之工业时代造轮子
    CVE-2020-0796 SMB远程代码执行漏洞(分析、验证及加固)
    Oracle 找到引起账户锁定的IP
    【OGG 故障处理】OGG-01031
    【OGG 故障处理】OGG-01028
    【OGG 故障处理】 丢失归档恢复
    19C imp 导入合并表空间
    CentOS 7 配置VNCServer
    ORA-3136 问题处理
    HugePages概述--翻译自19C文档
  • 原文地址:https://www.cnblogs.com/byvar/p/3754484.html
Copyright © 2020-2023  润新知