我在我的解决方案中创建了一个使用Entity Framework / Web API的数据访问层项目。经过一些测试后,我对结果感到满意,于是我决定为Business Logic提供另一项服务。
由于我将有几个应用程序与业务逻辑层连接,我假设使用Web API创建另一个安静的服务将是最好的方法。话虽如此,在学习了有关模型和实体框架的所有内容之后,我正在抓挠我。由于DAL与数据库连接,我假设我在这个新项目中根本不使用模型,只是构建一个调用我的DAL服务的控制器。这是正确的还是我在这里完全没有找到的东西?
如果我没有遗漏任何东西,有人能指出我如何从宁静的服务中呼叫一个宁静的服务吗?
答案 0 :(得分:1)
如果要在没有回发的情况下发布或获取数据服务器端,Web Api可以为MVC应用程序添加值。
对于服务,将业务逻辑放在控制器中并让控制器调用充当DAL的内部库是很常见的。
示例...
<强> MyProject.soln 强>
我喜欢MVVM / Repository / Mapper模式。它预先做了额外的工作,但非常可扩展且漂亮SOLID。它通常包括:
控制器示例
public IHttpActionResult Post(MyViewModel viewModel)
{
if (!ModelState.IsValid)
{
return Content(HttpStatusCode.BadRequest, ModelState);
}
var modelMapper = new ModelMapper();
var model = modelMapper.getModelFromViewModel(viewModel);
var modelRepository = new ModelRepository();
modelRepository.Save(model);
return Ok();
}