zoukankan      html  css  js  c++  java
  • Entity Framework 学习初级篇6EntityClient

    1,

    System.Data.EntityClient 命名空间是 实体框架的 .NET Framework 数据提供程序。EntityClient 提供程序使用存储特定的 ADO.NET 数据提供程序类和映射元数据与实体数据模型进行交互。EntityClient 首先将对概念性实体执行的操作转换为对物理数据源执行的操作。然后再将物理数据源返回的结果集转换为概念性实体。

    代码如下:

    View Code
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.Linq;
    using System.Xml.Linq;
    using System.Data.Objects;
    using System.Data.Common;
    using System.Data.EntityClient;
    using System.Data;
    using System.Configuration;
    
    namespace Console1
    {
        class Program
        {
            static void Main(string[] args)
            {
                #region EntityConnection连接对象            
             
                //string con = "name = studentEntities"; //连接字符串
                ////连接字符串也可以这样写
                ////string con = System.Configuration.ConfigurationManager.ConnectionStrings["studentEntities"].ConnectionString;
                //using (EntityConnection econn = new EntityConnection(con))//构造连接对象
                //{                
                //    string esql = "select value c from studentEntities.T_StuInfo as c where c.stuid < 5";
                //    econn.Open();//建立与数据源的连接
                //    EntityCommand ecmd = new EntityCommand(esql, econn);//构造命令对象
                //    EntityDataReader ereader = ecmd.ExecuteReader(CommandBehavior.SequentialAccess);
                //    while (ereader.Read()) //如果有数据,该函数会读取一条数据
                //    {
                //        Console.WriteLine(ereader["name"]);
                //    }
                //    Console.WriteLine(ecmd.ToTraceString());
    
                //}
                #endregion
    
                #region EntityCommand命令对象
                //string con = "name=studentEntities";
                //using (EntityConnection econn = new EntityConnection(con))
                //{
                //    string esql = "select value c from studentEntities.T_StuInfo as c where c.stuid=4";//e sql语句
                //    econn.Open();//打开连接对象
                //    EntityCommand ecmd = econn.CreateCommand();//使用对象创建一个命令
                //    ecmd.CommandText = esql;  //命令语句
                //    EntityDataReader ereader = ecmd.ExecuteReader(CommandBehavior.SequentialAccess);
                //    if (ereader.Read())
                //    {
                //        Console.WriteLine(ereader["name"]);
                //    }
                //    Console.WriteLine(ecmd.ToTraceString());
                //}         
    
                #endregion
    
                #region EntityConnectionStringBuilder 创建和连接字符串
                //EntityConnectionStringBuilder esb = new EntityConnectionStringBuilder();
                //esb.Provider = "System.Data.SqlClient";//数据提供程序名字
                //esb.Metadata =@"res://*/Model2.csdl|res://*/Model2.ssdl|res://*/Model2.msl";  //连接字符串的元数据位置
                //esb.ProviderConnectionString = @"Data Source=DP-201208111000;Initial Catalog=student;Integrated Security=True;MultipleActiveResultSets=True;";
                //EntityConnection conn= new EntityConnection(esb.ConnectionString);//创建连接对象
                //conn.Open();           
    
                #endregion
            
                #region EntityParameter 
               
                //string con = "name = studentEntities ";
                //using (EntityConnection econn = new EntityConnection(con))
                //{
                //    string esql = "select value c from studentEntities.T_StuInfo as c order by c.stuid skip @start limit @end";
    
                //    econn.Open();
                //    EntityCommand ecmd = new EntityCommand(esql, econn);
    
                //    EntityParameter p1 = new EntityParameter("start", DbType.Int32);//构造参数
                //    p1.Value = 1;   //为参数赋值
                //    EntityParameter p2 = new EntityParameter("end", DbType.Int32);
                //    p2.Value = 4;
                //    ecmd.Parameters.Add(p1);//将参数增加到命令对象中
                //    ecmd.Parameters.Add(p2);
                    
                //    //还可以使用下面的命令增加参数
                //    //ecmd.Parameters.AddWithValue("start", 0);
                //    //ecmd.Parameters.AddWithValue("end", 4);
                //    EntityDataReader ereader = ecmd.ExecuteReader(CommandBehavior.SequentialAccess);
                //    while (ereader.Read())
                //    {
                //        Console.WriteLine(ereader["name"]);
                //    }
                //    Console.WriteLine(ecmd.ToTraceString());//命令转化后使用了row_number()排序
    
                //}
    
                #endregion
    
                #region  EntityDataReader
    
                //string con = "name=studentEntities";
                //using (EntityConnection econn = new EntityConnection(con))
                //{
                //    string esql = "select value c from studentEntities.T_StuInfo as c order by c.stuid limit 10";
                //    econn.Open();
                //    EntityCommand ecmd = new EntityCommand(esql, econn);
                //    EntityDataReader ereader = ecmd.ExecuteReader(CommandBehavior.SequentialAccess);
                //    while (ereader.Read())
                //    {
                //        Console.WriteLine("{0},{1},{2},{3}", ereader[0], ereader[1], ereader[2], ereader[3]);
                //    }
                //    Console.WriteLine(ecmd.ToTraceString());
                //    //注意:SequentialAccess 提供一种方法,以便 DataReader 处理包含带有大二进制值的列的行。
                //    //使用SequentialAccess则需按顺序访问列,否则将抛异常
    
                //}
    
               
    
                #endregion
    
    
                Console.WriteLine("OK");
    
    
                Console.Read();
    
               
    
    
            }
         
        }
    }

    注:本程序使用的ef源是:link to ef

  • 相关阅读:
    数值数据类型
    如何提高数据迁移和复制的速度
    dns解析
    cdn加速
    集群
    JavaScript初学者应注意的七个细节
    CXF 5参考资料
    深入理解Spring MVC 思想
    【深入理解Java内存模型】
    牛人论
  • 原文地址:https://www.cnblogs.com/wang7/p/2639781.html
Copyright © 2011-2022 走看看