zoukankan      html  css  js  c++  java
  • Entity Framework 4.1 EFCodeFirst 入门

    1.安装EF 4.1

    首先,需要下载最新的Entity Framework的4.1版本,下载地址:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8363

    2.创建新的项目

    安装Entity Framework4.1后,就可以在VS2010中使用了。

    • 打开Visual Studio 2010

    • 文件-->新建-->项目

    • 选择“Windows”-->“Windows窗体应用程序”

    • 项目名字为“EF”

    • 选择“确定”

    2.创建新的实体类

    新建一个代码文件,叫Model.cs。

    我的代码只是起到一个介绍的作用,所以就以一个简单的例子开始(对于用户信息的增删改查操作)。

    首先,我们定义一个实体类User

    class User
    {
    publicstring UserName { get; set; }
    publicstring Password { get; set; }
    publicstring Sex { get; set; }
    publicstring City { get; set; }
    }

    之后我们做一点限制,让UserName作为关键字,Password不能为空。为了完成前面的限制操作,我们要将Model.cs文件做如下修改:

    • 首先,要加上命名空间

    using System.ComponentModel.DataAnnotations;
    using System.Data.Entity;

      

     因为我们需要用到的主键和不为空的标记,都是来自于DataAnnotations命名空间的。

    • 然后,我们向实体类User中添加标记

    class User
    {
    [Key] //标记UserName为主键
    publicstring UserName { get; set; }

    [Required] //标记Password不能为空
    publicstring Password { get; set; }

    publicstring Sex { get; set; }
    publicstring City { get; set; }
    }
    • 接着,我们还需要定义一个数据库对象,让EntityFramework知道我们程序里面哪些类是实体。

    class UserDB:DbContext
    {
       public DbSet<User> Users { get; set; }
    }

    DbContext对象提供了我们和数据库打交道的入口,至于建立数据库表、关系、结构,这些事情全部都不需要了,全部是幕后实现的。 

    • 最后,我们还需要进行一点配置,让EntityFrameWork知道我们用什么数据库服务器,以及在哪里建立数据库。如下图,新建一个配置文件。

    在里面添加如下配置:

    <configuration>
    <connectionStrings>
    <add
    name
    ="UserDB"
    providerName
    ="System.Data.SqlClient"
    connectionString
    ="Server=.\SQLEXPRESS;Database=User_db;Trusted_Connection=true;"/>
    </connectionStrings>
    </configuration>

     name和定义的数据库类名一致,Server可以设置成自己的SQL Server服务器名,数据库名建议以程序名命名,在此我命名为User_db。

    3.试运行

    实现用户信息增删改的功能。

    界面如下图:

    • 增加新用户

    代码如下:

    UserDB db =new UserDB();
    User user1
    =new User();
    user1.UserName
    = zxTEName.Text;
    user1.Password
    = zxTEPassword.Text;
    user1.Sex
    = zxTESex.Text;
    user1.City
    = zxTECity.Text;
    db.Users.Add(user1);
    db.SaveChanges();
    GetUserView();

    声明一个新的User实例,将界面上的值赋给这个实例,然后执行Add与SaveChanges方法就可以将信息Insert进数据库的相应表中。

    • 更改原有数据
    代码如下:
    UserDB db =new UserDB();
    User user
    = db.Users.SingleOrDefault(u => u.UserName == zxTEName.Text);
    if (user !=null)
    {
    user.UserName
    = zxTEName.Text;
    user.Password
    = zxTEPassword.Text;
    user.Sex
    = zxTESex.Text;
    user.City
    = zxTECity.Text;
    db.SaveChanges();
    GetUserView();
    }

    声明一个新的User实例

    ,然后使用SingleOrDefault方法将符合条件的数据从数据库中取出,接着只要执行SaveChanges方法,就可以将修改过的数据保存进数据库中。

    • 删除原有数据
    代码如下:
    UserDB db =new UserDB();
    User user
    = db.Users.SingleOrDefault(u => u.UserName == zxTEName.Text);
    if (user !=null)
    {
    db.Users.Remove(user);
    db.SaveChanges();
    GetUserView();
    }

    取数据的操作和上面一样,取出数据后,直接执行Remove方法,将这条数据删除。 

  • 相关阅读:
    sftp服务器搭建以及挂载新硬盘到home目录下
    做题小技巧
    18年2月份股市大跌感想
    使用docker配置laravel5.5环境
    git tag、gitignore和git撤销提交
    Tmux 学习
    rman异常案例二: 归档日志被人移动到其他目录,导致数据库恢复异常(续)
    tasklet与workqueue的区别和不同应用环境总结
    [置顶] Jquery网页打印
    svn服务器搭建和使用:Custom action GenerateSSLKey failed: Command terminated with non-zero exit code
  • 原文地址:https://www.cnblogs.com/ahwwmb/p/2692415.html
Copyright © 2011-2022 走看看