c#数据绑定之linq使用示例

   2015-09-05 0
核心提示:本实例以MS AdventureWorks2008Entities数据库为基础,演示了LINQ TO ENTITY、LINQ TO ENTITYSQL和LINQ TO ENTITYCLIENT。

c#数据绑定之linq使用示例

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>

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} \t \t {1} ", person.FirstName, person.LastName));
                }
            }

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} \t \t{1}", person.FirstName, person.LastName));
                }
            }

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}\t \t{1}", firstName, lastName));
                    }
                }
                conn.Close();
            }
        }

 
标签: c# 数据绑定 linq
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行