Я работаю над интрасети и имею длинную модель, которая была создана EntityFramework для моей базы данных Employee, я хотел разделить с ней пароль, и поскольку это частичный класс, я решил, что создаю это:Частичный класс не работает
namespace CRAWebSiteMVC.Models
{
public partial class Employee
{
public global::System.String Password
{
get
{
return _Password;
}
set
{
OnPasswordChanging(value);
ReportPropertyChanging("Password");
ReportPropertyChanged("Password");
OnPasswordChanged();
}
}
private global::System.String _Password;
partial void OnPasswordChanging(global::System.String value);
partial void OnPasswordChanged();
}
}
Но теперь, когда я пытаюсь назначить значение для пароля, оно всегда имеет нулевое значение.
например:
[HttpPost]
public ActionResult Create([Bind(Exclude = "Id")] Employee objEmployee, FormCollection form)
{
ViewBag.CompanyList = _service.ListCompany();
ViewBag.SupervisorList = _service.ListSupervisor();
objEmployee.CreatedDate = System.DateTime.Now; // They will get the good value
objEmployee.UpdatedDate = System.DateTime.Now;
objEmployee.Password = form["Password"]; // will always be = to null, even when the form is filled
}
Что может быть причиной этого?
EDIT: Пароль теперь имеет значение, спасибо всем.
Но теперь следующая встретилась ошибка:
An error occurred while updating the entries. See the inner exception for details.
На данный момент:
public Employee Create(Employee objEmployee)
{
_entities.AddToEmployees(objEmployee);
_entities.SaveChanges(); // Fails here
return objEmployee;
}
Как может SaveChange строя, как это?
при отладке которых один имеет нулевое значение, это 'форма [ "пароль"]'? –
Нет, форма ["Пароль"] улавливает пароль, но objEmployee.Password имеет значение NULL. – Christopher
Тогда это установщик вашего свойства Password, который его не удерживает, поскольку @kenam упоминается в его ответе :) –