zoukankan      html  css  js  c++  java
  • c#数据绑定(5)--LINQ

    嶽永鹏/文

    本实例以MS AdventureWorks2008Entities数据库为基础,演示了LINQ TO ENTITY、LINQ TO ENTITYSQL和LINQ TO ENTITYCLIENT。

    XAML:

     <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="2*"/>
                    <ColumnDefinition Width="8*"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition  />
                </Grid.RowDefinitions>
                <ListBox Grid.Column="1"  Margin="10" Name="listBox1"  />
                <Button Content="LinqToEntity" Grid.Column="0" Margin="5" Name="button1" Click="button1_Click" />
                <ListBox Grid.Column="1" Grid.Row="1"  Margin="10" Name="listBox2"  />
                <Button Content="LinqToSQL" Grid.Column="0" Grid.Row="1" Margin="5" Name="button2" Click="button2_Click" />
                <ListBox Grid.Column="1" Grid.Row="2"  Margin="10" Name="listBox3"  />
                <Button Content="LinToEnClient" Grid.Column="0" Grid.Row="2" Margin="5" Name="button3" Click="button3_Click"  />
            </Grid>
    View Code

    Button1  LINQ TO ENTITY

    using (var context = new AdventureWorks2008Entities())
                {
                    //var people = context.People.Where(c => c.LastName == "King").OrderBy(d => d.FirstName).Select(r => new { r.FirstName,r.LastName}); 
                    //var people = context.People.Where(c => c.LastName == "King").OrderBy(c =>c.FirstName).Select(c => new { c.FirstName, c.LastName });
                    var people = from per in context.People
                                 //join emp in context.Employees on per.BusinessEntityID equals emp.BusinessEntityID
                                 where per.LastName == "King"
                                 orderby per.FirstName 
                                 select new { per.FirstName, per.LastName};
                    foreach (var person in people)
                    {
                        listBox1.Items.Add(string.Format("{0} 	 	 {1} ", person.FirstName, person.LastName));
                    }
                }
    View Code

    Button2 LINQ TO ENTITYSQL

    using (var context = new AdventureWorks2008Entities())
                {
                    var str = "SELECT VALUE p FROM AdventureWorks2008Entities.People AS p WHERE p.LastName= @LastName Order by p.FirstName";
                    //var people = context.CreateQuery<Person>(str);
                    var people = new System.Data.Objects.ObjectQuery<Person>(str, context);
                    people.Parameters.Add(new System.Data.Objects.ObjectParameter("LastName", "King"));
                    foreach (var person in people)
                    {
                        listBox2.Items.Add(string.Format("{0} 	 	{1}", person.FirstName, person.LastName));
                    }
                }
    View Code

    Button3 LINQ TO ENTITYCLIENT

    var firstName = "";
                var lastName = "";
                using (EntityConnection conn = new EntityConnection("name=AdventureWorks2008Entities"))
                {
                    string str = "SELECT p.FirstName, p.LastName FROM AdventureWorks2008Entities.People AS p WHERE p.LastName='King' Order by p.FirstName";
                    conn.Open();
                    EntityCommand cmd = conn.CreateCommand();
                    cmd.CommandText =str;
                    using (EntityDataReader rdr = cmd.ExecuteReader(System.Data.CommandBehavior.SequentialAccess))
                    {
                        while (rdr.Read())
                        {
                            firstName = rdr.GetString(0);
                            lastName = rdr.GetString(1);
                            listBox3.Items.Add(string.Format("{0}	 	{1}", firstName, lastName));
                        }
                    }
                    conn.Close();
                }
            }
    View Code
  • 相关阅读:
    利用观察者模式 进行不同页面的传值
    axios请求处理
    百度地图实现鼠标绘制图形并获取相关数据
    web前端支付功能
    各种好用插件汇总(持续更新...)
    记录iview表单校验的"坑"
    JavaScript字符串方法
    2020面试汇总
    JavaScript作用域
    JavaScript原型到原型链
  • 原文地址:https://www.cnblogs.com/YUEYongpeng/p/3583478.html
Copyright © 2011-2022 走看看