Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF实体验证的最佳实践_C#_.net_Entity Framework - Fatal编程技术网

C# WCF实体验证的最佳实践

C# WCF实体验证的最佳实践,c#,.net,entity-framework,C#,.net,Entity Framework,我目前正在创建一个WCF服务,这只是一个只读服务,这意味着该服务不允许写访问。WCF服务将使用Employee实体(如下)作为数据对象,因为我正在使用实体框架。我的问题是,处理员工实体验证的最佳实践是什么?我应该使用dataannotation吗?还是应该让实体框架抛出错误 当请求被代理到实体框架中时,WCF服务实体是否执行验证 public class Employee{ public int EmployeeId {get; set} public string Employe

我目前正在创建一个WCF服务,这只是一个只读服务,这意味着该服务不允许写访问。WCF服务将使用Employee实体(如下)作为数据对象,因为我正在使用实体框架。我的问题是,处理员工实体验证的最佳实践是什么?我应该使用dataannotation吗?还是应该让实体框架抛出错误

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

public class Employee{

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

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


这种验证是有用的,因为它可以减少数据库访问的次数,但如果需要检查数据库中是否存在员工,则需要让Entity Framework尝试获取该实体,所以,当您需要执行只涉及数据库中数据的验证时,除了执行某些查询外,别无选择。

如果它是只读服务,为什么需要验证?@Wouter-我只是想在他们决定创建另一个将使用上述服务的UI(ASP.NET MVC)时,使其更灵活。