2015-01-14 4 views
0

Я пишу службу с помощью asp.netwebapi visual studio 13 Я не понимаю, как интегрировать или обмениваться моделями с бизнес-слоем. потому что, если я использую трехуровневую архитектуру, то контекст будет действовать как модели. Никакой разницы в этом, поэтому, пожалуйста, любой орган предлагает мне связь между моделями и бизнес-уровнем.Проблема с asp.net webapi и бизнес-логикой

ответ

1

Вам необходимо создать Models в своем WebAPI, чтобы отделить ваш BLL от WebAPI. Например, если у вас есть класс Person в вашем BLL, вы можете иметь PersonModel в своем WebAPI. Это будет примерно так же грубо.

[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 код класса.

+0

Спасибо за предложение, я вернусь к u снова об этой проблеме –

Смежные вопросы