У меня есть приложение, использующее EntityFramework с SQL2008.Я использую DB-первый подход.Ниже показаны две сущности, с которыми у меня возникли проблемы:
http://imageshack.us/photo/my-images/339/modelfj.jpg/
часть Сотрудника Edit.cshtml
<div class="client_row">
<label class="client_label">
FirstName</label>
@Html.TextBoxFor(model => model.FirstName, new { @class = "client_edit" })
@Html.ValidationMessageFor(model => model.FirstName)
</div>
<div class="client_row">
<label class="client_label">
LastName</label>
@Html.TextBoxFor(model => model.LastName, new { @class = "client_edit" })
@Html.ValidationMessageFor(model => model.LastName)
</div>
@Html.EditorFor(model => model.Account)
<div class="client_row">
<span class="client_hr"></span>
<label class="client_label">
Email</label>
@Html.TextBoxFor(model => model.Email, new { @class = "client_edit" })
@Html.ValidationMessageFor(model => model.Email)
</div>
АккаунтФайл редактора (пользователь EditorFor)
@Html.HiddenFor(model => model.AccountID)
<div class="client_row">
<label class="client_label">
Login</label>
@Html.TextBoxFor(model => model.Login, new { @class = "client_edit" })
@Html.ValidationMessageFor(model => model.Login)
</div>
<div class="client_row">
<label class="client_label">
Password</label>
@Html.PasswordFor(model => model.Password, new { @class = "client_edit password1" })
Мой частичный файл учетной записи, используемый для проверки
[MetadataType(typeof(Account_Validation))]
public partial class Account
{
}
[Bind(Exclude = "AccountID")]
public class Account_Validation
{
[Required]
[Remote("IsLoginAvailable", "Validation")]
[Display(Name="Login")]
public string Login { get; set; }
[DataType(DataType.Password)]
[Display(Name="Password")]
public string Password { get; set; }
}
@Html.ValidationMessageFor(model => model.Password)
</div>
Когда я пытаюсь создать сотрудника, все работаетхорошо.Я могу вставить в таблицу Employee и в таблицу Account.Я реализовал стандартную удаленную проверку (с использованием аннотаций данных) для проверки доступности имени для входа.
Проблема начинается, когда я пытаюсь отредактировать сотрудника.Валидация не позволила бы мне это сделать, так как вход в систему уже выполнен.Ну, это правда, но я не хочу это менять.Ребята, скажите, что я делаю не так?