• 一个最简单的使用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文件中的数据库文件路径改成你自己的路径:http://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》

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

  • 相关阅读:
    k8s pod 定义 文件 yaml
    动态规划(1)
    Angular封装WangEditor富文本组件
    使用Angular CDK实现一个Service弹出Toast组件
    让Angular自定义组件支持form表单验证
    等了半年,m1芯片原生支持的.NET IDE出现了
    eachrt
    dgy
    开源节流
    company
  • 原文地址:https://www.cnblogs.com/andyzeng/p/3761826.html
Copyright © 2020-2023  润新知