码迷,mamicode.com
首页 > 其他好文 > 详细

自学EF一些小笔记

时间:2015-09-20 14:45:37      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

一直在用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方法执行。

自学EF一些小笔记

标签:

原文地址:http://www.cnblogs.com/MirageFox/p/4817270.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!