一个最简单的使用Entity Framework 查询SQL 数据库的例子

1.ADO.NET 3.5 Entity Framework是随着.net framework 3.5一起发布的,确认开发环境版本是大于等于3.5版本

2.确认已经安装了ADO.NET 3.5 Entity Framework 和ADO.NET 3.5 Entity Framework Tools:右键单击创建的winform或者wpf程序,选择“Add|New Item”,查看Templates 列表框中是否有ADO.NET Entity Data Model,如果没有,请到此网址下载并安装:http://www.microsoft.com/en-us/download/default.aspx

3.创建一个举例用的SQL 数据库。在SQL Server Management Studio中运行创建初始数据库的文件,注意把sql文件中的数据库文件路径改成你自己的路径:https://files.cnblogs.com/andyzeng/CSE_DEPT.zip

4.创建一个WPF应用程序,winform的也可以。并添加一个listbox,一个button,如下图:

5.创建实体数据模型:Entity Data Model

在第4步创建的工程上面右键单击创建的,选择“Add|New Item”,列表框中选择ADO.NET Entity Data Model。

得到如下EDM向导,选择Generate from database,点击“Next”

6.得到如下图,按照1,2,3步骤选择前面生成的数据库。

7.选好数据库后会生成连接字符串,给连接指定一个名字:CSE_DEPTEntities

这个名字在创建数据库连接的时候会用到,点Next

 8.选择创建映射关系的表,视图,存储过程等,点击“Finish”

9.生成如下映射,并添加了引用和EDM文件到工程。

10.选择一个表右键-〉Mapping details 可以看到详细的字段映射。

11.前面的准备完毕,下面写取数据的代码。

其中用到了三个实体类:EntityConnection,EntityCommand ,EntityDataReader 

private void button1_Click(object sender, RoutedEventArgs e)
        {
            EntityConnection conn = new EntityConnection("name=CSE_DEPTEntities");
            conn.Open();
            EntityCommand cmd = conn.CreateCommand();
            cmd.CommandText = "SELECT fname.faculty_name FROM CSE_DEPTEntities.Faculty as fname";
            EntityDataReader rd = cmd.ExecuteReader(CommandBehavior.SequentialAccess);
            this.lsb_faculty.Items.Clear();
            while (rd.Read())
            {
                this.lsb_faculty.Items.Add(rd["faculty_name"]);
            }

       conn.Close();
}

运行结果如下:

完毕:

作者:Andy Zeng

参考:《Practical Database Programming With Visual C#.Net》

欢迎任何形式的转载,但请务必注明出处。

 

posted @ 2014-05-30 22:37  AndyZeng  阅读(910)  评论(0编辑  收藏  举报