我从第一个Dapper Dal项目开始。
我有三个项目: - 网站(MVC) - DataLayer(Dapper) - 模型(Poco Classes)
我想为我的模型添加验证,但我也想为我的数据层使用干净的poco类。我的数据层使用dapper将我的poco类映射到数据库。
我搜索了互联网,但我找不到合适的答案。
我的问题是: 我在哪里添加验证? - 在一个包含扩展我的poco类的类的seppetated项目中,还是有不同的方式?
答案 0 :(得分:0)
如果你想在DAL类和MVC类之间进行清晰的分离,那么你可以通过使用MVC项目中的ViewModel来做到这一点。 ViewModel将具有最适合您在浏览器中呈现的属性和验证。您的控制器将负责在DAL类和ViewModel之间映射数据。 Automapper是一个非常好的工具。
看起来有点像:
DAL:
public class MyDapperClass
{
public int Id { get; set; }
public string SomeProperty { get; set; }
}
视图模型:
public class MyViewModelClass
{
public int Id { get; set; }
[StringLength(50),Required]
public string SomeProperty { get; set; }
}
控制器:
// using AutoMapper;
public class MyController : Controller
{
public MyController()
{
// Set up AutoMapper to be able to map your class
Mapper.CreateMap<MyDapperClass, MyViewModelClass>();
}
public ActionResult MyAction()
{
var dalObject = DAL.GetObject();
var viewModel = Mapper.Map<MyViewModelClass>(dalObject);
return View(viewModel);
}
}