Ошибка клиента службы WCF "лучшее совпадение перегруженного метода для XXX имеет недопустимые аргументы"

Здравствуйте, я создаю приложение MVVM, и моя база данных связана с проектом, у меня есть служба WCF, добавленная в мой проект, и у меня создана ссылка на службу, чтобы я мог добавить новые данные из своего приложения в свою базу данных.

В моей модели приложения есть команда, которая сохраняет нового пользователя в базе данных, и я создаю новый экземпляр моего клиента службы в этом файле C#, а затем команда сохраняется в файле службы. Однако, когда я вызываю эту команду, используя свой сервис, я получаю сообщение об ошибке: "наилучшее перегруженное соответствие метода для XXX имеет недопустимые аргументы", и я не могу понять, почему, потому что все, кажется, добавлено правильно.

Вот некоторый мой код, чтобы показать вам, что у меня есть в viewmodel, и именно в этой строке я получаю сообщение об ошибке (_serviceClient.SaveNewUser(newUser);):

 public RelayCommand AddUserCommand { get; private set; }
 private ServiceClient _serviceClient;

    public AddUserViewModel()
    {            
        _serviceClient = new ServiceClient();
        AddUserCommand = new RelayCommand(() => ExecuteAddUserCommand());          
    }

 private void ExecuteAddUserCommand()
    {
        User newUser = new User();
        newUser.FirstName = this.FirstName;
        newUser.LastName = this.LastName;
        newUser.ContactNumber = this.ContactNumber;
        newUser.Email = this.Email;


        //service call
        int userID = _serviceClient.SaveNewUser(newUser);


        newUser.UserID = userID;
     }

Тогда в service.svc.cs у меня есть:

    [OperationContract]
    public int SaveNewUser(User user)
    {
        using (var context = new SolutionEntities())
        {
            context.Users.AddObject(user);
            context.SaveChanges();
            return user.UserID;               

        }
    }

Класс User выглядит следующим образом:

       public partial class Client : EntityObject
       {

    public static Client CreateClient(global::System.Int32 userID, global::System.String firstName, global::System.String lastName, global::System.String contactNumber)
    {
        User user = new User();
        user .UserID = userID;
        user .FirstName = firstName;
        user .LastName = lastName;
        user .ContactNumber = contactNumber;
        return user;
    }

    public global::System.Int32 UserID
    {
        get
        {
            return _UserID;
        }
        set
        {
            if (_UserID!= value)
            {
                OnUserIDChanging(value);
                ReportPropertyChanging("UserID");
                _UserID= StructuralObject.SetValidValue(value, "UserID");
                ReportPropertyChanged("UserID");
                OnUserIDChanged();
            }
        }
    }
    private global::System.Int32 _UserID;
    partial void OnUserIDChanging(global::System.Int32 value);
    partial void OnUserIDChanged();

    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
    [DataMemberAttribute()]
    public global::System.String FirstName
    {
        get
        {
            return _FirstName;
        }
        set
        {
            OnFirstNameChanging(value);
            ReportPropertyChanging("FirstName");
            _FirstName = StructuralObject.SetValidValue(value, false, "FirstName");
            ReportPropertyChanged("FirstName");
            OnFirstNameChanged();
        }
    }
    private global::System.String _FirstName;
    partial void OnFirstNameChanging(global::System.String value);
    partial void OnFirstNameChanged();

    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
    [DataMemberAttribute()]
    public global::System.String LastName
    {
        get
        {
            return _LastName;
        }
        set
        {
            OnLastNameChanging(value);
            ReportPropertyChanging("LastName");
            _LastName = StructuralObject.SetValidValue(value, false, "LastName");
            ReportPropertyChanged("LastName");
            OnLastNameChanged();
        }
    }
    private global::System.String _LastName;
    partial void OnLastNameChanging(global::System.String value);
    partial void OnLastNameChanged();


    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
    [DataMemberAttribute()]
    public global::System.String ContactNumber
    {
        get
        {
            return _ContactNumber;
        }
        set
        {
            OnContactNumberChanging(value);
            ReportPropertyChanging("ContactNumber");
            _ContactNumber = StructuralObject.SetValidValue(value, false, "ContactNumber");
            ReportPropertyChanged("ContactNumber");
            OnContactNumberChanged();
        }
    }
    private global::System.String _ContactNumber;
    partial void OnContactNumberChanging(global::System.String value);
    partial void OnContactNumberChanged();

    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
    [DataMemberAttribute()]
    public global::System.String Email
    {
        get
        {
            return _Email;
        }
        set
        {
            OnEmailChanging(value);
            ReportPropertyChanging("Email");
            _Email = StructuralObject.SetValidValue(value, true, "Email");
            ReportPropertyChanged("Email");
            OnEmailChanged();
        }
    }
    private global::System.String _Email;
    partial void OnEmailChanging(global::System.String value);
    partial void OnEmailChanged();

Надеюсь, кто-нибудь увидит, где моя проблема, спасибо.

0 ответов

Другие вопросы по тегам