WCF实体验证的最佳实践

时间:2012-02-10 07:08:38

标签: c# .net entity-framework

我正在创建一个WCF服务,这只是一个只读服务,这意味着服务上不允许写访问。 WCF服务将使用Employee实体(下面)作为数据对象,因为我正在使用实体框架。我的问题是,处理E​​mployee实体验证的最佳做法是什么?我应该使用dataannotation吗?或者我应该让实体框架抛出错误?

当请求被代理到实体框架中时,WCF服务实体是否执行验证?

public class Employee{

   public int EmployeeId {get; set}
   public string EmployeeName{get; set}
} 

1 个答案:

答案 0 :(得分:1)

是的,您可以使用数据注释来验证您的输入是否尊重您的域,例如验证必填字段是否已定价,数据类型和格式是否正确等等。您还可以将验证方法添加到数据协定模型中例如,检查某些字段是否必须遵守特定范围的数据。

这种验证可能很有用,因为它可以减少数据库访问的数量,但是如果你需要检查数据库中是否存在Employee,你需要让Entity Framework尝试获取实体,所以当你需要时为了执行只能涉及数据库中的数据的验证,没有其他方法可以执行某些查询。