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

 更新时间:2014年04月10日 14:38:54   作者:  
本实例以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>

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# 语音功能的实现方法

    C# 语音功能的实现方法

    最近看了一些资料,是c#实现语音功能的。现在就简单的讲一下怎么实现。
    2013-03-03
  • C#获取关键字附近文字算法实例

    C#获取关键字附近文字算法实例

    这篇文章主要介绍了C#获取关键字附近文字算法,实例分析了文字查找算法的原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#微信公众号开发之服务器配置

    C#微信公众号开发之服务器配置

    这篇文章介绍了C#微信公众号开发之服务器配置,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 如何搭建新的WPF项目框架

    如何搭建新的WPF项目框架

    这篇文章主要介绍了如何搭建新的WPF项目框架,在项目开发中比较常见的开发模式就是MVVM模式,使用MVVM框架开发好处:1、框架较轻,2、学习成本低、3、适用大多数中小型项目,4、相对于微软的prism框架更容易上手,需要的朋友可以参考下
    2015-07-07
  • 分享C#中几个可用的类

    分享C#中几个可用的类

    这篇文章主要为大家分享了C#中几个可用的类,并给出了几个例子进行讲解,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • C#使用Parallel类进行多线程编程实例

    C#使用Parallel类进行多线程编程实例

    这篇文章主要介绍了C#使用Parallel类进行多线程编程的方法,实例分析了Parallel类的相关使用技巧,需要的朋友可以参考下
    2015-06-06
  • WPF实现PropertyGrid功能

    WPF实现PropertyGrid功能

    这篇文章主要为大家详细介绍了在WPF中如何借助WinForm的PropertyGrid实现属性列表功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2024-11-11
  • 基于WPF实现颜色选择器控件

    基于WPF实现颜色选择器控件

    这篇文章主要介绍了如何基于WPF实现简单的颜色选择器控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,需要的小伙伴可以参考一下
    2023-08-08
  • c#基于winform制作音乐播放器

    c#基于winform制作音乐播放器

    这篇文章主要介绍了c#基于winform制作音乐播放器的方法,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • C# 通过ServiceStack 操作Redis

    C# 通过ServiceStack 操作Redis

    这篇文章主要介绍了C# 通过ServiceStack 操作Redis的示例,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03

最新评论