在Visual Studio 2012中,我想创建一个包含这些项目的解决方案
Dal
包含实体(大多数DTOs包含一些复杂对象)和实体框架引用以将实体持久保存到数据库中WebApi
应包含针对Dal
RichClient
是一个Windows窗体客户端,用于使用WebApi-Project显示和编辑一些数据WebClient
是一个MVC5 Asp.Net页面,用于查看和编辑数据以下代码是伪代码。我们的想法是使用现有的实体框架项目来处理与数据库的对话。
public class EntityController<T> where T : ApiController
{
// GET api/entity
public IEnumerable<string> Get(){
return Dal.GetEntitiesAsIEnumerable<T>();
}
// GET api/entity/5
public string Get(int id){
return Dal.GetEntity<T>(5);
}
// POST api/entity
public int Post([FromBody]string value){
var entity = GetEntityFromPost<T>();
return Dal.Save<T>(entity);
}
// PUT api/entity/5
public void Put(int id, [FromBody]string value){
var entity = GetEntityFromPut<T>();
return Dal.Save<T>(entity);
}
// DELETE api/entity/5
public void Delete(int id){
var entity = GetEntityFromDelete<T>();
return Dal.Delete<T>(entity.Id);
}
}
答案 0 :(得分:1)
using
语句调用DAL一样简单。ApiController
?像这样: public class EntityController : ApiController