一个最简单的使用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》
欢迎任何形式的转载,但请务必注明出处。