C#基于DBContext(EF)实现通用增删改查的REST方法实例
本文实例讲述了C#基于DBContext(EF)实现通用增删改查的REST方法,分享给大家供大家参考。具体如下:
我们用ADO.NETEntityDataModel来生成实体类后,一般都会对这些类进行基本的增删改查操作,如果每个类都要写这些基本的方法,实在太乏味了。下面就是通过stepbystep的方式介绍如何用DBContext来实现通用增删改查的REST方法,以及实现过程中容易出现的问题。
1.打开vs2012,新建一个classlibrary的项目
2.新加一个ADO.NETEntityDataModel项到这个项目
3.打开App.Config,修改res://*为res://yourproject
否则会报下面的这咱错误:
WIFI.ssdl(3,4):error0019:Eachtypenameinaschemamustbeunique.Typename'WifiModel.Store.AD'wasalreadydefined.
4.Build这个项目
5.新建另一个webapi的项目
ASP.NETMVC4WebApplication–>WebAPI模板
注意这个项目的EF的版本与上个项目的版本要一致
6.添加一个类到Models下:
publicclassGenericDBContext<T>:WifiEntitieswhereT:class { publicDbSet<T>Items{get;set;} publicList<T>Get() { returnSet<T>().ToList(); }
publicTGet(intid) { returnItems.Find(id); }
publicvoidPut(Titem) { Items.Attach(item); Entry(item).State=EntityState.Modified; SaveChanges(); }
publicvoidPost(Titem) { Items.Add(item); SaveChanges(); }
publicvoidDelete(intid) { Delete(Get(id)); }
publicvoidDelete(Titem) { Items.Attach(item); Entry(item).State=EntityState.Deleted; SaveChanges(); } }