最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#基于DBContext(EF)實(shí)現(xiàn)通用增刪改查的REST方法實(shí)例

 更新時(shí)間:2014年10月16日 09:23:02   投稿:shichen2014  
這篇文章主要介紹了C#基于DBContext(EF)實(shí)現(xiàn)通用增刪改查的REST方法實(shí)例,是C#程序設(shè)計(jì)中非常實(shí)用的技巧,需要的朋友可以參考下

本文實(shí)例講述了C#基于DBContext(EF)實(shí)現(xiàn)通用增刪改查的REST方法,分享給大家供大家參考。具體如下:

我們用ADO.NET Entity Data Model來(lái)生成實(shí)體類后,一般都會(huì)對(duì)這些類進(jìn)行基本的增刪改查操作,如果每個(gè)類都要寫(xiě)這些基本的方法,實(shí)在太乏味了。下面就是通過(guò)step by step的方式介紹如何用DBContext來(lái)實(shí)現(xiàn)通用增刪改查的REST方法,以及實(shí)現(xiàn)過(guò)程中容易出現(xiàn)的問(wèn)題。

1. 打開(kāi)vs2012,新建一個(gè)class library的項(xiàng)目

2. 新加一個(gè)ADO.NET Entity Data Model項(xiàng)到這個(gè)項(xiàng)目

3. 打開(kāi)App.Config, 修改res://* 為res://yourproject

否則會(huì)報(bào)下面的這咱錯(cuò)誤:

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這個(gè)項(xiàng)目

5. 新建另一個(gè)web api的項(xiàng)目

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

注意這個(gè)項(xiàng)目的EF的版本與上個(gè)項(xiàng)目的版本要一致

6. 添加一個(gè)類到Models下:

復(fù)制代碼 代碼如下:
public class GenericDBContext<T> : WifiEntities where T : class
{
        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();
        }
}

7. 添加一個(gè)到Controllers下面:

復(fù)制代碼 代碼如下:
public class GenericController<T> : ApiController where T : class
{
        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);
        }
}

至此,通用方法寫(xiě)完了

8. 下面就可以寫(xiě)具體Controller了

復(fù)制代碼 代碼如下:
public class ADController : GenericController<AD>
{

}

9. 最后用soap ui 進(jìn)行調(diào)試,通過(guò)

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

四平市| 黎平县| 锡林浩特市| 什邡市| 即墨市| 扶风县| 徐水县| 长兴县| 武冈市| 湘潭市| 信阳市| 太湖县| 新乡县| 同江市| 微博| 长治市| 金平| 门源| 乌鲁木齐县| 沁水县| 天镇县| 鹿泉市| 东丽区| 尼玛县| 贞丰县| 惠水县| 安远县| 广饶县| 大荔县| 沈丘县| 黄骅市| 平安县| 神农架林区| 濮阳市| 明星| 东兰县| 朝阳市| 石渠县| 福州市| 治多县| 牙克石市|