2012-02-10 207 views
0

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

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

public class Employee{ 

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

如果它是只读服务,为什么需要验证? – 2012-02-10 07:12:34

+0

@ Wouter-我只是想让它灵活,以防他们决定创建另一个使用上述服务的UI(ASP.NET MVC)。 – Zack 2012-02-10 07:27:33

回答

1

是的,你可以使用数据标注,以验证您输入尊重您的域名,例如像验证必填字段增值的,并且数据类型和格式是正确的,等等。你还可以添加验证方法数据契约模型来检查例如某些字段是否必须尊重特定范围的数据。

这种验证可以是有用的,因为它可以减少数据库访问的次数,但是如果您需要检查数据库中Employee的存在,您需要让Entity Framework试图获取实体,所以当您需要执行验证,只能涉及数据库中的数据执行,没有其他选择来执行某些查询。