• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#基于DBContext(EF)实现通用增删改查的REST方法实例

C#基于DBContext(EF)实现通用增删改查的REST方法实例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#dbcontext,ef dbcontext,dbcontext,dbcontext命名空间,mvc dbcontext等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了C#基于DBContext(EF)实现通用增删改查的REST方法,分享给大家供大家参考。具体如下:

我们用ADO.NET Entity Data Model来生成实体类后,一般都会对这些类进行基本的增删改查操作,如果每个类都要写这些基本的方法,实在太乏味了。下面就是通过step by step的方式介绍如何用DBContext来实现通用增删改查的REST方法,以及实现过程中容易出现的问题。

1. 打开vs2012,新建一个class library的项目

2. 新加一个ADO.NET Entity Data Model项到这个项目

3. 打开App.Config, 修改res://* 为res://yourproject

否则会报下面的这咱错误:

WIFI.ssdl(3,4) : error 0019: Each type name in a schema must be unique. Type name 'WifiModel.Store.AD' was already defined.

4. Build这个项目

5. 新建另一个web api的项目

ASP.NET MVC 4 Web Application –> Web API 模板

注意这个项目的EF的版本与上个项目的版本要一致

6. 添加一个类到Models下:

{
        public DbSet<T> Items { get; set; }
        public List<T> Get()
        {
            return Set<T>().ToList();
        }

        public T Get(int id)
        {
            return Items.Find(id);
        }

        public void Put(T item)
        {
            Items.Attach(item);
            Entry(item).State = EntityState.Modified;
            SaveChanges();
        }

        public void Post(T item)
        {
            Items.Add(item);
            SaveChanges();
        }

        public void Delete(int id)
        {
            Delete(Get(id));
        }

        public void Delete(T item)
        {
            Items.Attach(item);
            Entry(item).State = EntityState.Deleted;
            SaveChanges();
        }
}</div>

7. 添加一个到Controllers下面:

{
        private readonly GenericDBContext<T> _context = new GenericDBContext<T>();

        public List<T> Get()
        {
            return _context.Get();
        }

        public T Get(int id)
        {
            return _context.Get(id);
        }

        public void Post([FromBody]T t)
        {
            _context.Post(t);
        }

        public void Put([FromBody]T t)
        {
            _context.Put(t);
        }

        public void Delete(int id)
        {
            _context.Delete(id);
        }
}</div>

至此,通用方法写完了

8. 下面就可以写具体Controller了

{

}</div>

9. 最后用soap ui 进行调试,通过

希望本文所述对大家的C#程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#基于DBContext(EF)实现通用增删改查的REST方法实例

相关文章

  • 2017-05-28C#对Access进行增删改查的完整示例
  • 2017-05-28C#位移的介绍与例子
  • 2017-05-28C#函数式编程中的递归调用之尾递归详解
  • 2017-05-28新手学习.net的一列好走的路径及方法
  • 2017-05-28C#操作mysql数据库的代码实例
  • 2017-05-28轻松学习C#的正则表达式
  • 2017-05-28c#使用win32api实现获取光标位置
  • 2017-05-28C#微信公众号开发 微信事件交互
  • 2017-05-28C# 大小写转换(金额)实例代码
  • 2017-05-28c#文件助手类分享(读取文件内容 操作日志文件)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#中JavaScriptSerializer帮助类用法实例
    • C#字符串加密解密方法实例
    • c#只读字段和常量的区别,以及静态构造函数的使用实例
    • C#实现快捷键的几种常用方法汇总
    • C#数组应用分析第1/2页
    • 解决C#中WebBrowser的DocumentCompleted事件不执行的实现方法
    • C#实现打造气泡屏幕保护效果
    • c#之圆形无标题栏椭圆窗体的实现详解
    • 采用easyui tree编写简单角色权限代码的方法
    • 无焦点获取条码枪返回值示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有