zoukankan      html  css  js  c++  java
  • EF ObjectQuery查询及方法


     

    string

     esql = 

    "select value c from NorthwindEntities.Customers as c order by 

    c.CustomerID limit 10"

    ObjectQuery

    <

    Customers

    > query = edm.CreateQuery<

    Customers

    >(esql); 

    Console

    .WriteLine(query.GetResultType().ToString()); 

    //

    输出结果为:

     

    //NorthWindModel.Customers

     

     

    ToTraceString

    方法:

    获取当前执行的

    SQL

    语句。

     

     

    Where

     

    实例代码如下:

     

    using

     (

    var

     edm = 

    new

     

    NorthwindEntities

    ()) 

    string

     esql = 

    "select value c from NorthwindEntities.Customers as c "

    ObjectQuery

    <

    Customers

    > query1 = edm.CreateQuery<

    Customers

    >(esql); 

    //

    使用

    ObjectParameter

    的写法

     

     

    query1 = query1.Where(

    "it.CustomerId=@customerid"

    ); 

    query1.Parameters.Add(

    new

     

    ObjectParameter

    (

    "customerid"

    "ALFKI"

    )); 

    //

    也可以这样写

     

    //ObjectQuery<Customers> query2 = edm.Customers.Where("it.CustomerID='ALFKI'");

     

    foreach

     (

    var

     c 

    in

     query1) 

    Console

    .WriteLine(c.CustomerID); 

    //

    显示查询执行的

    SQL

    语句

     

    Console

    .WriteLine(query1.ToTraceString()); 

     

    First/ FirstOrDefault

     

    实例代码如下:

     

    using

     (

    var

     edm = 

    new

     

    NorthwindEntities

    ()) 

    string

     esql = 

    "select value c from NorthwindEntities.Customers as c order by 

    c.CustomerID limit 10"

    ;

     

    ObjectQuery

    <

    Customers

    > query = edm.CreateQuery<

    Customers

    >(esql); 

    Customers

     c1 = query.First(); 

    Customers

     c2 = query.FirstOrDefault(); 

    Console

    .WriteLine(c1.CustomerID); 

    Assert

    .IsNotNull(c2); 

    Console

    .WriteLine(c2.CustomerID); 

     

    Distinct

     

    实例代码如下:

     

    using

     (

    var

     edm = 

    new

     

    NorthwindEntities

    ()) 

    string

     esql = 

    "select value c.City from NorthwindEntities.Customers as c order by 

    c.CustomerID limit 10"

    ObjectQuery

    <

    string

    > query = edm.CreateQuery<

    string

    >(esql); 

    query = query.Distinct(); 

    foreach

     (

    string

     c 

    in

     query) 

    Console

    .WriteLine(

    "City {0}"

    , c); 

     

    Except:

    返回两个查询的差集。实例代码如下:

     

    using

     (

    var

     edm = 

    new

     

    NorthwindEntities

    ()) 

    string

     esql1 = 

    "select value c from NorthwindEntities.Customers as c order by 

    c.CustomerID limit 10"

    ObjectQuery

    <

    Customers

    > query1 = edm.CreateQuery<

    Customers

    >(esql1); 

    string

     esql2 = 

    "select value c from NorthwindEntities.Customers as c where 

    c.Country='UK' order by c.CustomerID limit 10"

    ObjectQuery

    <

    Customers

    > query2 = edm.CreateQuery<

    Customers

    >(esql2); 

    query1 = query1.Except(query2); 

  • 相关阅读:
    【REST详述及RESTful规范】
    【Vue CLI】从安装到构建项目再到目录结构的说明
    【Webpack】
    【npm】安装、搭建独立项目环境
    【Node.js安装步骤】
    【Vue路由系统详述】
    【Python实现图片验证码】
    【Vue实例生命周期】
    【Vue组件系统】
    Java实现几种常见排序方法
  • 原文地址:https://www.cnblogs.com/jf-guo/p/6411432.html
Copyright © 2011-2022 走看看