asp.net webapi和业务逻辑问题

时间:2015-01-14 12:13:23

标签: asp.net-web-api

使用asp.netwebapi visual studio 13编写服务我没有得到如何与业务层集成或交流模型。因为如果我使用3层架构上下文将充当模型没有区别那么请任何机构建议我模型和业务层之间的沟通

1 个答案:

答案 0 :(得分:1)

您需要在WebAPI中创建Models以将BLL与WebAPI分开。例如,如果BLL中有Person个类,则可以在WebAPI中使用PersonModel。它的工作原理如下。

[HttpGet]
Public HttpResponseMessage Get(id)
{
    // Validation for id
    var person = _dbContext.GetPersonById(id);

    // Now populate the Model
    var personModel=new PersonModel();

     // You can use automapper to replace the following part
    personModel.PersonId=person.PersonId;
    personModel.Firstname= person.Firstname; 
    // ....
}


[HttpPost]
Public HttpResponseMessage Post(PersonModel personModel)
{
    // Validation here
    // ...

    var person = new Person();

    // You can use automapper to replace the following part
    person.PersonId= personModel.PersonId;
    person.Firstname=personModel.Firstname;

    _dbContext.Save(person);
}

您可以使用AutoMapper自动填充模型,而无需编写模型< - > BLL类代码。