zoukankan      html  css  js  c++  java
  • EF--DBFirst

    EF框架有三种基本的方式:DB First,Model First,Code First。这里简单的说一下DB First,适合没有基础的同学照着做,学习基础的东西。

    DatabaseFirst就是围绕数据库为中心的开发方式,使用这种模式我们必须要先设计和创建数据库,然后使用VS在已有数据库的基础上创建ADO.NET实体数据模型,之后就可以在编程的过程中使用EF访问和操作数据库里的数据了

    1、先在数据库中创建几张表

    2、在vs中创建一个类库项目,添加ado.net实体数据模型

    点完成后,生成如下edmx

     在DBFirst模式下,是不需要对edmx文件做修改的,让系统自动生成就好了

    如果现在要对表结构或者列名进行修改,那么先在数据库上修改好了,然后在edmx中将相应的实体删除,选择从数据库更新模型 ,再将删除的表添加回来

    同样的,添加表也是如此,这种情况下,即使原来数据库里面有数据也不会有什么影响的

    3、在这个项目中做一个简单的增删改查,在class1类中添加如下代码

     public class Class1
        {
            modelEntities mo = null;
            public Class1()
            {
                mo = new modelEntities();
            }
            public IList<Role> getRoleSet()
            {
                //使用Lambda表达式查询数据
                IList<Role> RoleList = mo.Role.Where(o => o.RoleName != "").ToList();
                return RoleList;
            }
    
            public int AddRoleSet(Role r)
            {
                try
                {
                    mo.Role.Add(r);
                    mo.SaveChanges();//对数据库的修改一定要添加这条语句
                }
                catch (Exception e)
                {
                    return 0;
                }
                return 1;
            }
    
            public int ModifyRoleSet(Role r)
            {
                IList<Role> rlist = mo.Role.Where(o => o.Id == r.Id).ToList();
                Role rn = rlist.ElementAtOrDefault(0);
                if (null != rn)
                {
                    rn = r;
                    return mo.SaveChanges();
                }
                return 0;
            }
            public bool DelRoleSet(Role r)
            {
                try
                {
                    mo.Role.Remove(r);
                    mo.SaveChanges();
                }
                catch (Exception e)
                {
                    return false;
                }
                return true;
    
            }
    
        }

    创建一个控制台项目,将数据库链接字符串复制到配置文件中,然后直接调用class1中的方法就可以实现简单的增删改查了

    4、与modelfirst相比,dbfirst在项目开发中更容易,至少,在数据库有数据的情况下,添加新的实体要更简单,也不用担心会因为误操作而导致数据丢失。

    EF模式下,也可以直接使用sql语句来实现增删改查,这里就不讨论了

  • 相关阅读:
    jsoup
    【伪装位置神器】神行者AnyLocation 1.3.0001可用于微信,陌陌
    MD5 哈希等各种加密方式 都是对这个对象进行各种运算, 然后得出1个字符串
    【html】param 以及 embed 的有关 flash 属性详解
    【css】绝对定位的元素在 ie6 下不显示
    【javascript】浮点数运算问题分析及解决方法
    【jquery】邮箱自动补全 + 上下翻动
    【javascript】设为首页——setHome
    【javascript】js 检验密码强度
    【jquery】jquery 自定义滚动条
  • 原文地址:https://www.cnblogs.com/jin-/p/6589921.html
Copyright © 2011-2022 走看看