Я читал много статей об этом, и все это кажется очень сложным решением. Но я считаю, что должен быть простой способ решить мою проблему.Как пройти проверку достоверности От EntityFramework до WCF?
Я сделал проверку структуры Entity Framework для своих объектов с помощью атрибутов, которые возвращают сообщение об ошибке из ресурсов (но неважно, что это то же самое, что и ErrorMessage = ...).
[MetadataType(typeof(UserMetadata))]
public partial class User
{
internal sealed class UserMetadata
{
[Required(AllowEmptyStrings = false, ErrorMessageResourceName = "UserNameRequired", ErrorMessageResourceType = typeof(ErrorMessage))]
[StringLength(150, ErrorMessageResourceName = "UserNameLength", ErrorMessageResourceType = typeof(ErrorMessage))]
public string UserName { get; set; }
}
}
В моей службы WCF У меня есть контракт:
[ServiceContract]
public interface IUser
{
[OperationContract]
User AddUser(User user);
}
а реализация:
public class UserService: IUser
{
public User AddUser(User user)
{
//Here I think I should throw the ErrorMessage with a FaultException
//and to catch it in the client side, but how to do it !?
IUserRepository _user = new UserRepository(); //I've used EF Repository Pattern.
return _user.Add(user);
}
}