zoukankan      html  css  js  c++  java
  • 自学EF一些小笔记

    一直在用DHhelper做MVC,感觉好山寨,也不怎么好用。决定开始学EF。

    废话不多说开始记笔记。。。。。

    EF就是把数据库表,存储过程,视图实例化,通过继承DbContext的一个类来操作数据实例。

    创建EF:

    实体连接字符串一般选“是”。

    这里只勾选需要用到的表,视图和存储过程。

    然后就是下一步,下一步,就完成了EF的创建。

    EF一般在MVC项目的Model文件夹下,也就是MVC中的model。

    使用EF:

    有了EF后,Controller就直接可以通过调用继承DbContext类的方法来操作数据库。

     查询:

    Controller部分

    ksoa_lsddEntities db = new ksoa_lsddEntities();     //实例化DbContext对象
                List<spkfk> ls = db.spkfk.AsQueryable().ToList();   //查询表,返回表集合
                return View(ls);

    View部分

    @model List<EFtest.Models.spkfk>
    
    @{
        Layout = "~/Views/template/_tamplate.cshtml";
    }
    
    <table>
        @foreach (EFtest.Models.spkfk i in Model) 
        {
            <tr>
                <td>
                    @i.spmch
                </td>
            </tr>
        }
    </table>

    新增:

    Controller部分

                testEFEntities db = new testEFEntities();   //实例化DbContext对象
                EFtable e = new EFtable();      //创建新增实例对象
                e.goodscode = "YC01";           //新增对象属性赋值
                e.goodsname = "乙醇";           //新增对象属性赋值
                db.EFtables.Add(e);             //新增对象添加到实例化对象集合
                db.SaveChanges();               //把修改后的集合保存到数据库
    SaveChanges()这个方法很重要,对数据库增删改操作完后都要SaveChanges()把操作在保存到数据库,SaveChanges()返回数据库受影响行数,该操作执行后数据库多少条数据受影响

    增删改不需要在View做操作。

    修改:

    Controller部分

    testEFEntities db = new testEFEntities();   //实例化DbContext对象
                EFtable e = db.EFtables.Find(1);//通过主键找到要修改的数据对象并将其实例化
                e.goodsname = "修改后";        //给需要修改列的属性赋值
                db.SaveChanges();       //保存操作到数据库

    修改需要通过Find方法找到需要修改的数据对象,并实例化该对象。

    删除:

    Controller部分

    testEFEntities db = new testEFEntities();   //实例化DbContext对象
                EFtable e = db.EFtables.Find(1);  //找到需要删除的数据列对象并实例化
                db.EFtables.Remove(e);      //将指定删除对象移除数据表对象集合
                db.SaveChanges();       //操作保存到数据库 

    删除与修改类似,删除需要调用remove方法执行。

  • 相关阅读:
    javascript权威指南(2)
    javascript权威指南(1)
    java之jvm学习笔记四(安全管理器)
    JavaEE Tutorials (2)
    Java高效编程(2) -- Creating and Destroying Objects
    JavaEE Tutorials (1)
    Java Web整合开发(12) -- JDBC
    memcached安装和验证
    [leetcode]Two Sum
    Java Web整合开发(11)
  • 原文地址:https://www.cnblogs.com/MirageFox/p/4817270.html
Copyright © 2011-2022 走看看