コード例 #1
0
        private void button14_Click(object sender, EventArgs e)
        {
            string testType = "Stored Procedure via Entity Client";

            _watch.Start(testType);
            for (int i = 0; i < 50; i++)
            {
                using (EntityConnection conn = new EntityConnection(ConfigurationManager.ConnectionStrings["OrderITEntities"].ConnectionString)) {
                    conn.Open();
                    using (EntityCommand comm = new EntityCommand("OrderITEntities.GetCustomersForTest", conn)) {
                        comm.CommandType = CommandType.StoredProcedure;
                        comm.Parameters.AddWithValue("name", "C%");
                        using (EntityDataReader reader = comm.ExecuteReader(CommandBehavior.SequentialAccess)) {
                            while (reader.Read())
                            {
                                var x  = reader.GetValue(0);
                                var x1 = reader.GetValue(1);
                                var x2 = reader.GetValue(2);
                                var x3 = reader.GetValue(3);
                                var x4 = reader.GetValue(4);
                            }
                        }
                    }
                }
                _watch.SaveLap();
            }
            _watch.Stop();
        }
        private static void FunWithEntityDataReader()
        {
            using (EntityConnection cn = new EntityConnection("name = AutoLotEntities"))
            {
                cn.Open();

                string query = "SELECT VALUE car FROM AutoLotEntities.Cars As Car";

                //创建一个命令对象
                using (EntityCommand cmd = cn.CreateCommand())
                {
                    cmd.CommandText = query;

                    //使用EntityDataReader获取得到的数据
                    using (EntityDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.SequentialAccess))
                    {
                        while (dr.Read())
                        {
                            Console.WriteLine("******Record*******");
                            Console.WriteLine("ID:{0}", dr["CarID"]);
                            Console.WriteLine("Make:{0}", dr["Make"]);
                            Console.WriteLine("Color:{0}", dr["Color"]);
                            Console.WriteLine("Pet Name:{0}", dr["CarNickName"]);
                        }
                    }
                }
            }
        }
コード例 #3
0
        static public void StoredProcWithEntityCommand()
        {
            //<snippetStoredProcWithEntityCommand>
            using (EntityConnection conn =
                       new EntityConnection("name=SchoolEntities"))
            {
                conn.Open();
                // Create an EntityCommand.
                using (EntityCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "SchoolEntities.GetStudentGrades";
                    cmd.CommandType = CommandType.StoredProcedure;
                    EntityParameter param = new EntityParameter();
                    param.Value         = 2;
                    param.ParameterName = "StudentID";
                    cmd.Parameters.Add(param);

                    // Execute the command.
                    using (EntityDataReader rdr =
                               cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        // Read the results returned by the stored procedure.
                        while (rdr.Read())
                        {
                            Console.WriteLine("ID: {0} Grade: {1}", rdr["StudentID"], rdr["Grade"]);
                        }
                    }
                }
                conn.Close();
            }
            //</snippetStoredProcWithEntityCommand>
        }
コード例 #4
0
        private static void FunWIthEntityDataReader()
        {
            //  基于*.config文件创建一个连接对象
            using (EntityConnection cn = new EntityConnection("name=AutoLotEntities"))
            {
                cn.Open();

                //  构建一个Entity SQL查询
                string query = "SELECT VALUE car FROM AutoLotEntities.Cars AS car";

                //  创建一个命令对象
                using (EntityCommand cmd = cn.CreateCommand())
                {
                    cmd.CommandText = query;

                    //  最后,获取数据阅读器并处理得到的记录
                    using (EntityDataReader dr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        while (dr.Read())
                        {
                            Console.WriteLine("***** RECORD *****");
                            Console.WriteLine("ID: {0}", dr["CarID"]);
                            Console.WriteLine("Make: {0}", dr["Make"]);
                            Console.WriteLine("Color: {0}", dr["Color"]);
                            Console.WriteLine("Pet Name: {0}", dr["CarNickname"]);
                            Console.WriteLine();
                        }
                    }
                }
            }
        }
コード例 #5
0
        public override void ExecuteESqlQuery(IConnectionInfo cxInfo, string query)
        {
            EntityConnection connection;
            object           dbContext = base.InstantiateBaseContext(cxInfo);

            CheckForUnpatchedCx(dbContext);
            string eSqlCxString = GetESqlCxString(dbContext);
            EntityConnectionStringBuilder builder = new EntityConnectionStringBuilder(eSqlCxString);
            string str2 = builder["metadata"] as string;

            if ((str2 != null) && str2.Trim().ToUpperInvariant().StartsWith("READER:"))
            {
                connection = new EntityConnection(GetObjectContext(dbContext).MetadataWorkspace, (DbConnection)GetIDbConnection(dbContext));
            }
            else
            {
                connection = new EntityConnection(eSqlCxString);
            }
            using (connection)
            {
                EntityCommand command = new EntityCommand(query, connection);
                connection.Open();
                command.ExecuteReader(CommandBehavior.SequentialAccess).Dump <EntityDataReader>();
            }
        }
コード例 #6
0
        static public void PolymorphicQuery()
        {
            //<snippetPolymorphicQuery>
            using (EntityConnection conn = new EntityConnection("name=SchoolEntities"))
            {
                conn.Open();
                // Create a query that specifies to
                // get a collection of only OnsiteCourses.

                string esqlQuery = @"SELECT VAlUE onsiteCourse FROM
                    OFTYPE(SchoolEntities.Courses, SchoolModel.OnsiteCourse)
                    AS onsiteCourse";
                using (EntityCommand cmd = new EntityCommand(esqlQuery, conn))
                {
                    // Execute the command.
                    using (DbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        // Start reading.
                        while (rdr.Read())
                        {
                            // Display OnsiteCourse's location.
                            Console.WriteLine("CourseID: {0} ", rdr["CourseID"]);
                            Console.WriteLine("Location: {0} ", rdr["Location"]);
                        }
                    }
                }
            }
            //</snippetPolymorphicQuery>
        }
コード例 #7
0
        private void button9_Click(object sender, EventArgs e)
        {
            string testType = "Select Customers With EF and EntitySQL via Entity Client. Plan Cache Enabled: " + UseCompiledQuery.Checked;

            _watch.Start(testType);
            for (int i = 0; i < 50; i++)
            {
                using (EntityConnection conn = new EntityConnection(ConfigurationManager.ConnectionStrings["OrderITEntities"].ConnectionString)) {
                    conn.Open();
                    using (EntityCommand comm = new EntityCommand("SELECT VALUE c FROM OFTYPE(OrderITEntities.Companies, OrderITModel.Customer) AS c WHERE c.name LIKE @name", conn)) {
                        comm.EnablePlanCaching = enablePlanCaching.Checked;
                        comm.Parameters.AddWithValue("name", "C%");
                        using (EntityDataReader reader = comm.ExecuteReader(CommandBehavior.SequentialAccess)) {
                            while (reader.Read())
                            {
                                var x  = reader.GetValue(0);
                                var x1 = reader.GetValue(1);
                                var x2 = reader.GetValue(2);
                                var x3 = reader.GetValue(3);
                                var x4 = reader.GetValue(4);
                            }
                        }
                    }
                }
                _watch.SaveLap();
            }
            _watch.Stop();
        }
コード例 #8
0
        //</snippeteSQLRefTypes>

        //string esqlQuery = @"SELECT VALUE AVG(p.ListPrice) FROM AdventureWorksEntities.Products as p";
        //<snippeteSQLPrimitiveTypes>
        static void ExecutePrimitiveTypeQuery(string esqlQuery)
        {
            if (esqlQuery.Length == 0)
            {
                Console.WriteLine("The query string is empty.");
                return;
            }

            using (EntityConnection conn =
                       new EntityConnection("name=AdventureWorksEntities"))
            {
                conn.Open();

                // Create an EntityCommand.
                using (EntityCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = esqlQuery;
                    // Execute the command.
                    using (EntityDataReader rdr =
                               cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        // Start reading results.
                        while (rdr.Read())
                        {
                            IExtendedDataRecord record = rdr as IExtendedDataRecord;
                            // For PrimitiveType
                            // the record contains exactly one field.
                            int fieldIndex = 0;
                            Console.WriteLine("Value: " + record.GetValue(fieldIndex));
                        }
                    }
                }
                conn.Close();
            }
        }
コード例 #9
0
        public void QueryContactsEntityConecction()
        {
            using (var con = new EntityConnection("name=PEF"))
            {
                con.Open();
                EntityCommand cmd = con.CreateCommand();

                cmd.CommandText = "SELECT VALUE c " +
                                  "FROM PEF.Contact AS c " +
                                  "WHERE c.FirstName = 'Robert'";

                Dictionary <int, string> dict = new Dictionary <int, string>();
                using (EntityDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.CloseConnection))
                {
                    while (rdr.Read())
                    {
                        int a = rdr.GetInt32(0);
                        var b = rdr.GetString(1);
                        dict.Add(a, b);
                        Console.WriteLine("{0} {1}",
                                          a,
                                          b);
                    }
                }
                Console.Write("Press Enter...");
                Console.ReadLine();
            }
            #endregion
        }
コード例 #10
0
        private List <Product> Query(string connectionString, string commandString)
        {
            var connection = new EntityConnection(connectionString);

            connection.Open();
            var command = new EntityCommand(commandString, connection);
            var reader  = command.ExecuteReader(CommandBehavior.SequentialAccess);

            var list = new List <Product>();

            do
            {
                while (reader.Read())
                {
                    var values = new List <object>();
                    for (var i = 0; i < reader.FieldCount; i++)
                    {
                        values.Add(reader.GetFieldValue <object>(i));
                    }
                    list.Add(CreateProduct(values));
                }
            }while (reader.NextResult());

            connection.Close();

            return(list);
        }
コード例 #11
0
ファイル: Program.cs プロジェクト: ruo2012/samples-1
        static private void PolymorphicQuery()
        {
            //<snippetPolymorphicQuery>
            using (EntityConnection conn = new EntityConnection("name=SchoolEntities"))
            {
                conn.Open();
                // Create a query that specifies to
                // get a collection of only Students
                // with enrollment dates from
                // a collection of People.
                string esqlQuery = @"SELECT Student.LastName, 
                    Student.EnrollmentDate FROM 
                    OFTYPE(SchoolEntities.Person, 
                    SchoolModel.Student) AS Student";

                using (EntityCommand cmd = new EntityCommand(esqlQuery, conn))
                {
                    // Execute the command.
                    using (DbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        // Start reading.
                        while (rdr.Read())
                        {
                            // Display student's last name and enrollment date.
                            Console.Write(rdr["LastName"] + " ");
                            Console.WriteLine(rdr["EnrollmentDate"]);
                        }
                    }
                }
            }
            //</snippetPolymorphicQuery>
        }
コード例 #12
0
        public void Verify_querying_database_with_EntityClient_works()
        {
            const string commandText =
                "SELECT C.CompanyName, C.Location FROM NorthwindEntities.Customers AS C WHERE C.CustomerID LIKE @CustomerID";

            using (var connection = new EntityConnection(NorthwindEntitiesConnectionString))
            {
                connection.Open();

                using (var command = new EntityCommand(commandText, connection))
                {
                    command.Parameters.AddWithValue("CustomerID", "A%");
                    using (var reader = command.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        foreach (var expectedResult in expectedResults)
                        {
                            reader.Read();
                            Assert.Equal(expectedResult.Name, reader["CompanyName"]);
                            Assert.Equal(expectedResult.Location, ((DbGeography)reader["Location"]).AsText());
                        }

                        Assert.False(reader.Read());
                    }
                }
            }

            Console.WriteLine();
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: tijokjoy/exercises
        private static void FunWithEntityDataReader()
        {
            // Make a connection object, based on our *.config file.
            using (EntityConnection cn = new EntityConnection("name=AutoLotEntities"))
            {
                cn.Open();

                // Now build an Entity SQL query.
                string query = "SELECT VALUE car FROM AutoLotEntities.Cars AS car";

                // Create a command object.
                using (EntityCommand cmd = cn.CreateCommand())
                {
                    cmd.CommandText = query;

                    // Finally, get the data reader and process records.
                    using (EntityDataReader dr =
                               cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        while (dr.Read())
                        {
                            Console.WriteLine("***** RECORD *****");
                            Console.WriteLine("ID: {0}", dr["CarID"]);
                            Console.WriteLine("Make: {0}", dr["Make"]);
                            Console.WriteLine("Color: {0}", dr["Color"]);
                            Console.WriteLine("Pet Name: {0}", dr["CarNickname"]);
                            Console.WriteLine();
                        }
                    }
                }
            }
        }
コード例 #14
0
        //Querying with EntityClient  to return Streamed Data
        public void QueryContacts()
        {
            using (EntityConnection conn = new EntityConnection("name=PEF"))
            {
                conn.Open();
                var queryString = "SELECT VALUE c " +
                                  "FROM PEF.Contact AS c " +
                                  "WHERE c.FirstName = 'Robert'";

                EntityCommand cmd = conn.CreateCommand();
                cmd.CommandText = queryString;

                using (EntityDataReader rdr =
                           cmd.ExecuteReader(System.Data.CommandBehavior.SequentialAccess |
                                             System.Data.CommandBehavior.CloseConnection))
                {
                    while (rdr.Read())
                    {
                        var firsName = rdr.GetString(1);
                        var lastName = rdr.GetString(2);
                        var tittle   = rdr.GetString(3);
                        Console.WriteLine("{0} {1} {2}", tittle.Trim(), firsName.Trim(), lastName);
                    }
                }
                conn.Close();
                Console.Write("Presiona Enter");
                Console.ReadLine();
            }
        }
コード例 #15
0
        public static IEnumerable <T> ExecuteStoredProc <T>(EntityConnection conn, string procedure, string[] paramNames, object[] paramValues) where T : new()
        {
            if (conn.State != System.Data.ConnectionState.Open)
            {
                conn.Open();
            }
            var command = new EntityCommand
            {
                CommandType = CommandType.StoredProcedure,
                CommandText = procedure,
                Connection  = conn,
            };

            for (int i = 0; i < paramNames.Length; i++)
            {
                command.Parameters.AddWithValue(paramNames[i], paramValues[i]);
            }
            var list = new List <T>();

            using (var reader = command.ExecuteReader())
            {
                // get GUID values from the reader here,
                // and put them in the list
                list = reader.MapToList <T>();
                reader.Close();
            }
            return(list);
        }
コード例 #16
0
 /// <summary>
 /// ESQL
 /// </summary>
 static void RSQL()
 {
     // 这个就是App.config中的数据库连接串
     using (var con = new EntityConnection("name=SchoolDBEntities"))
     {
         //打开连接
         con.Open();
         //通过连接创建一个命令对象
         EntityCommand cmd = con.CreateCommand();
         //设置要执行的SQL语句或存储过程
         cmd.CommandText = "select value s from SchoolDBEntities.StudentSets as s";
         //定义一个接收字典
         Dictionary <int, string> dic = new Dictionary <int, string>();
         //创建一个reader来进行数据读取
         using (EntityDataReader rd = cmd.ExecuteReader(System.Data.CommandBehavior.SequentialAccess | System.Data.CommandBehavior.CloseConnection))
         {
             while (rd.Read())
             {
                 int    a = rd.GetInt32(0);
                 string b = rd.GetString(1);
                 dic.Add(a, b);
             }
         }
     }
 }
コード例 #17
0
        static public void NavigateWithNavOperatorWithEntityCommand()
        {
            //<snippetNavigateWithNavOperatorWithEntityCommand>
            using (EntityConnection conn =
                       new EntityConnection("name=AdventureWorksEntities"))
            {
                conn.Open();
                // Create an EntityCommand.
                using (EntityCommand cmd = conn.CreateCommand())
                {
                    // Create an Entity SQL query.
                    string esqlQuery =
                        @"SELECT address.AddressID, (SELECT VALUE DEREF(soh) FROM
                      NAVIGATE(address, AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID)
                      AS soh) FROM AdventureWorksEntities.Addresses AS address";

                    cmd.CommandText = esqlQuery;

                    // Execute the command.
                    using (DbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        // Start reading.
                        while (rdr.Read())
                        {
                            Console.WriteLine(rdr["AddressID"]);
                        }
                    }
                }
                conn.Close();
            }
            //</snippetNavigateWithNavOperatorWithEntityCommand>
        }
コード例 #18
0
        private void button2_Click(object sender, EventArgs e)
        {
            cn = new EntityConnection("Name=EcoFarm_DBEntities");
            cn.Open();
            cmd             = cn.CreateCommand();
            cmd.CommandText = "SELECT VALUE i FROM EcoFarm_DBEntities.Invoice_products as i WHERE i.Name = @product";
            cmd.Parameters.AddWithValue("product", ProductsCB.SelectedItem);
            DbDataReader dbReader = cmd.ExecuteReader(CommandBehavior.SequentialAccess);

            dt.Columns.Add("col", "Product code");
            dt.Columns.Add("col", "Name");
            dt.Columns.Add("col", "Units");
            dt.Columns.Add("col", "Number of units");
            dt.Columns.Add("col", "Unit price");
            dt.Columns.Add("col", "Total price");
            dt.Columns.Add("col", "Invoice number");
            while (dbReader.Read())
            {
                dt.Rows.Add(
                    dbReader["Product_code"].ToString(),
                    dbReader["Name"].ToString(),
                    dbReader["Units"].ToString(),
                    dbReader["Number_of_units"].ToString(),
                    dbReader["Unit_price"].ToString(),
                    dbReader["Total_price"].ToString(),
                    dbReader["Invoice_Number"].ToString()
                    );
            }
            dbReader.Close();
            cn.Close();
        }
コード例 #19
0
        //</snippeteSQLStructuralTypes>

        //string esqlQuery = @"SELECT REF(p) FROM AdventureWorksEntities.Products as p";
        //<snippeteSQLRefTypes>
        static public void ExecuteRefTypeQuery(string esqlQuery)
        {
            if (esqlQuery.Length == 0)
            {
                Console.WriteLine("The query string is empty.");
                return;
            }

            using (EntityConnection conn =
                       new EntityConnection("name=AdventureWorksEntities"))
            {
                conn.Open();

                // Create an EntityCommand.
                using (EntityCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = esqlQuery;
                    // Execute the command.
                    using (EntityDataReader rdr =
                               cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        // Start reading results.
                        while (rdr.Read())
                        {
                            RefTypeVisitRecord(rdr as IExtendedDataRecord);
                        }
                    }
                }
                conn.Close();
            }
        }
コード例 #20
0
        private void button34_Click(object sender, EventArgs e)
        {
            using (EntityConnection conn = new EntityConnection(Parameters.ConnectionString)) {
                using (EntityCommand comm = new EntityCommand("SELECT value o FROM OrderITEntities.OrderDetails AS o", conn)) {
                    conn.Open();
                    EntityDataReader reader = comm.ExecuteReader(CommandBehavior.SequentialAccess);
                    using (var ctx = new OrderITEntities()) {
                        textConsole.Text = String.Empty;
                        var x = ctx.Translate <OrderDetail>(reader).ToList();
                        var t = x[0].Discount;
                        //while (reader.Read()) {
                        //textConsole.Text += reader[0].ToString() + "-" + reader[1].ToString() + "-" + reader[2].ToString() + "\r\n";
                        //}
                    }
                }
            }

            /*using (EntityConnection conn = new EntityConnection(Parameters.ConnectionString)) {
             *      using (EntityCommand comm = new EntityCommand("SELECT VALUE o FROM OrderITEntities.Orders AS o", conn)) {
             *              conn.Open();
             *              EntityDataReader reader = comm.ExecuteReader(CommandBehavior.SequentialAccess);
             *              textConsole.Text = String.Empty;
             *              while (reader.Read()) {
             *                      textConsole.Text += reader[0].ToString() + "-" + reader[1].ToString() + "-" + reader[2].ToString() + "\r\n";
             *              }
             *      }
             * }*/
        }
コード例 #21
0
ファイル: entitysql.cs プロジェクト: yashbajra/samples
        static void TestProduct(string esqlQuery, Dictionary <string, object> parametes)
        {
            using (EntityConnection conn =
                       new EntityConnection("name=AdventureWorksEntities"))
            {
                conn.Open();

                try
                {
                    // Create an EntityCommand.
                    using (EntityCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = esqlQuery;
                        foreach (KeyValuePair <string, object> kvp in parametes)
                        {
                            cmd.Parameters.AddWithValue(kvp.Key, kvp.Value);
                        }

                        // Execute the command.
                        using (EntityDataReader rdr =
                                   cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                        {
                            // The result returned by this query contains
                            // Address complex Types.
                            while (rdr.Read())
                            {
                                int col = rdr.FieldCount;
                                if (rdr.FieldCount > 3)
                                {
                                    col = 3;
                                }
                                for (int i = 0; i < col; i++)
                                {
                                    Console.Write("{0}   ", rdr[i]);
                                }
                                Console.WriteLine();
                                if (rdr.Depth > 0)
                                {
                                    // Display Address information.
                                    DbDataRecord nestedRecord =
                                        rdr[0] as DbDataRecord;
                                    for (int i = 0; i < nestedRecord.FieldCount; i++)
                                    {
                                        Console.WriteLine("  " + nestedRecord.GetName(i) +
                                                          ": " + nestedRecord.GetValue(i));
                                    }
                                }
                            }
                        }
                    }
                }
                catch (EntityException ex)
                {
                    Console.WriteLine(ex.ToString());
                }
                conn.Close();
            }
        }
コード例 #22
0
        async private void button31_Click(object sender, EventArgs e)
        {
            //其實用方法就可以了
            //Dynamic LINQ 讓 LINQ 的世界變的更美好
            //nuget system.linq.dynamic
            //using system.linq.dynamic
            db.Database.Log = Console.WriteLine;

            var query =
                db.Customers.Where("City == @0 and Orders.Count >= @1", "London", 10).
                OrderBy("CompanyName").
                Select("New (CompanyName as Name, Phone)");

            Console.WriteLine(query);

            var result = await query.ToListAsync();

            this.dataGridView1.DataSource = result;

            //============================
            using (EntityConnection conn =
                       new EntityConnection("name=AdventureWorksEntities"))
            {
                conn.Open();
                // Create a query that takes two parameters.
                string esqlQuery =
                    @"SELECT VALUE Contact FROM AdventureWorksEntities.Contacts 
                    AS Contact WHERE Contact.LastName = @ln AND
                    Contact.FirstName = @fn";

                using (EntityCommand cmd = new EntityCommand(esqlQuery, conn))
                {
                    // Create two parameters and add them to
                    // the EntityCommand's Parameters collection
                    EntityParameter param1 = new EntityParameter();
                    param1.ParameterName = "ln";
                    param1.Value         = "Adams";
                    EntityParameter param2 = new EntityParameter();
                    param2.ParameterName = "fn";
                    param2.Value         = "Frances";

                    cmd.Parameters.Add(param1);
                    cmd.Parameters.Add(param2);

                    using (DbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        // Iterate through the collection of Contact items.
                        while (rdr.Read())
                        {
                            this.listBox1.Items.Add(rdr["FirstName"]);
                            this.listBox1.Items.Add(rdr["LastName"]);
                        }
                    }
                }
                conn.Close();
            }
        }
コード例 #23
0
        public void DesignTime1()
        {
            using (EntityCommand cmd = new EntityCommand("SELECT t.Name FROM SchemaInformation.Tables AS t", (EntityConnection)context.Connection)) {
                using (DbDataReader reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess)) {
                    ObjectDumper.Write(reader);
                }
            }

            ObjectDumper.Write(context.Tables);
        }
コード例 #24
0
ファイル: Program.cs プロジェクト: guptagaurav89/ConceptsRepo
        static void Main(string[] args)
        {
            //Database.SetInitializer(new CreateDatabaseIfNotExists<UnderwritingEntitiesContainer>());

            //EF_concurrencyfeatures();

            using (UnderwritingEntitiesContainer db = new UnderwritingEntitiesContainer())
            {
                //db.Database.Log = Console.WriteLine;

                ////use Db table name for Sqlquery
                ////tightly coupled code
                //var headers = db.headers.SqlQuery("Select * from uw.header");

                //foreach(var h in headers)
                //{
                //    Console.WriteLine("ID" + h.Id + " value " + h.PolicyReference);
                //}

                var objectContext = (db as IObjectContextAdapter).ObjectContext;

                RunUncompiledQuery(objectContext);

                RunCompiledQuery();

                //Use EntitySql
                //strongly typed
                using (EntityConnection connection = objectContext.Connection as EntityConnection)
                {
                    connection.Open();
                    EntityCommand cmd = connection.CreateCommand();
                    cmd.CommandText = "Select value header from UnderwritingEntitiesContainer.headers as header";

                    EntityDataReader dr = cmd.ExecuteReader(CommandBehavior.SequentialAccess);
                    while (dr.Read())
                    {
                        Console.WriteLine("id " + dr["HeaderId"]);
                        Console.WriteLine("value " + dr["PolicyReference"]);
                    }


                    //ObjectQuery
                    string query = "select value h from UnderwritingEntitiesContainer.headers as h";
                    // Use for filter - ObjectParameter
                    foreach (header h in new ObjectQuery <header>(query, objectContext))
                    {
                        Console.WriteLine("id " + h.HeaderId + " policy " + h.PolicyReference);
                    }
                    connection.Close();
                }
            }
            Console.ReadKey();
        }
コード例 #25
0
ファイル: Program.cs プロジェクト: endok/sample-dotnetdb
        private static void EntityFrameworkSample()
        {
            // Entity SQLでの参照
            Console.WriteLine("-- Entity SQL");
            using (EntityConnection connection = new EntityConnection("name=SampleContext"))
            {
                connection.Open();

                string query1 = "SELECT m.id, m.name, m.age FROM SampleContext.member AS m WHERE m.age >= @age";

                using (EntityCommand cmd = new EntityCommand(query1, connection))
                {
                    cmd.Parameters.AddWithValue("age", 25);

                    using (DbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                    {
                        while (rdr.Read())
                        {
                            Console.WriteLine("id={0},name={1},age={2}", rdr["id"], rdr["name"], rdr["age"]);
                        }
                    }
                }
            }

            using (var db = new SampleContext())
            {
                // LINQ to Entitiesでの参照
                Console.WriteLine("-- LINQ to Entities");
                var query1 = from m in db.member
                             where m.age >= 25
                             select m;

                foreach (var member in query1)
                {
                    Console.WriteLine("id={0},name={1},age={2}", member.id, member.name, member.age);
                }

                // 別の書き方での参照
                Console.WriteLine("-- LINQ to Entities 2");
                var query2 = db.member.Where(m => m.age >= 25);

                foreach (var member in query2)
                {
                    Console.WriteLine("id={0},name={1},age={2}", member.id, member.name, member.age);
                }

                // Entity Framewokでの更新
                var carol = db.member.Find(3);
                carol.age = 60;
                db.SaveChanges();
            }
        }
コード例 #26
0
        public FunctionDetailsReader(EntityCommand command, Version storeSchemaModelVersion)
        {
            Debug.Assert(command != null, "command != null");
            Debug.Assert(storeSchemaModelVersion != null, "storeSchemaModelVersion != null");

            _rowViewFactoryMethod =
                storeSchemaModelVersion < EntityFrameworkVersion.Version3
                    ? (values) => new FunctionDetailsV1RowView(values)
                    : (Func <object[], FunctionDetailsRowView>)((values) => new FunctionDetailsV3RowView(values));

            _command = command;
            _reader  = _command.ExecuteReader(CommandBehavior.SequentialAccess);
        }
コード例 #27
0
        public void GetSomeCustomersUsingESQLRawQuerying()
        {
            var context = new SalesEntities(); //I needed this in the test, but you shouldn't need it in regular code

            using (var conn = new EntityConnection("name=SalesEntities"))
            {
                conn.Open();
                EntityCommand cmd = conn.CreateCommand();
                cmd.CommandText = "SELECT VALUE c FROM SalesEntities.Customers AS c " +
                                  "WHERE c.FirstName='Robert' ORDER BY c.LastName";
                EntityDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.CloseConnection);
            }
        }
コード例 #28
0
        protected void InitializeReader(EntityConnection connection, IEnumerable <EntityStoreSchemaFilterEntry> filters)
        {
            _connection = connection;

            _command = EntityStoreSchemaGeneratorDatabaseSchemaLoader.CreateFilteredCommand(
                _connection,
                FunctionDetailSql,
                FunctionOrderByClause,
                EntityStoreSchemaFilterObjectTypes.Function,
                new List <EntityStoreSchemaFilterEntry>(filters),
                new string[] { FunctionDetailAlias });
            _reader = _command.ExecuteReader(CommandBehavior.SequentialAccess);
        }
コード例 #29
0
ファイル: Program.cs プロジェクト: mconnew/dotnet-api-docs
        static private void ComplexTypeWithEntityCommand()
        {
            //<snippetComplexTypeWithEntityCommand>
            using (EntityConnection conn =
                       new EntityConnection("name=CustomerComplexAddrContext"))
            {
                conn.Open();

                // Create a query that returns Address complex type.
                string esqlQuery =
                    @"SELECT VALUE customers FROM
                        CustomerComplexAddrContext.CCustomers
                        AS customers WHERE customers.CustomerId < 3";
                try
                {
                    // Create an EntityCommand.
                    using (EntityCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = esqlQuery;
                        // Execute the command.
                        using (EntityDataReader rdr =
                                   cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                        {
                            // The result returned by this query contains
                            // Address complex Types.
                            while (rdr.Read())
                            {
                                // Display CustomerID
                                Console.WriteLine("Customer ID: {0}",
                                                  rdr["CustomerId"]);
                                // Display Address information.
                                DbDataRecord nestedRecord =
                                    rdr["Address"] as DbDataRecord;
                                Console.WriteLine("Address:");
                                for (int i = 0; i < nestedRecord.FieldCount; i++)
                                {
                                    Console.WriteLine("  " + nestedRecord.GetName(i) +
                                                      ": " + nestedRecord.GetValue(i));
                                }
                            }
                        }
                    }
                }
                catch (EntityException ex)
                {
                    Console.WriteLine(ex.ToString());
                }
                conn.Close();
            }
            //</snippetComplexTypeWithEntityCommand>
        }
コード例 #30
0
ファイル: Program.cs プロジェクト: mconnew/dotnet-api-docs
        static private void ReturnNestedCollectionWithEntityCommand()
        {
            //<snippetReturnNestedCollectionWithEntityCommand>
            using (EntityConnection conn =
                       new EntityConnection("name=AdventureWorksEntities"))
            {
                conn.Open();
                try
                {
                    // Create an EntityCommand.
                    using (EntityCommand cmd = conn.CreateCommand())
                    {
                        // Create a nested query.
                        string esqlQuery =
                            @"Select c.ContactID, c.SalesOrderHeader
                        From AdventureWorksEntities.Contact as c";

                        cmd.CommandText = esqlQuery;
                        // Execute the command.
                        using (EntityDataReader rdr =
                                   cmd.ExecuteReader(CommandBehavior.SequentialAccess))
                        {
                            // The result returned by this query contains
                            // ContactID and a nested collection of SalesOrderHeader items.
                            // associated with this Contact.
                            while (rdr.Read())
                            {
                                // the first column contains Contact ID.
                                Console.WriteLine("Contact ID: {0}", rdr["ContactID"]);

                                // The second column contains a collection of SalesOrderHeader
                                // items associated with the Contact.
                                DbDataReader nestedReader = rdr.GetDataReader(1);
                                while (nestedReader.Read())
                                {
                                    Console.WriteLine("   SalesOrderID: {0} ", nestedReader["SalesOrderID"]);
                                    Console.WriteLine("   OrderDate: {0} ", nestedReader["OrderDate"]);
                                }
                            }
                        }
                    }
                }
                catch (EntityException ex)
                {
                    Console.WriteLine(ex.ToString());
                }
                conn.Close();
            }
            //</snippetReturnNestedCollectionWithEntityCommand>
        }