MVC3 и Entity framework новичок здесь. Я пытаюсь написать контроллер, который будет обрабатывать оба редактирования и создавать новые записи. Вот мой код до сих пор (большинство из них автогенерируемое)Сохранить контроллер для новых объектов и изменений
//POST: /License/Save
[HttpPost]
public string Save(LICENSE_USER license_user)
{
if (license_user.License_ID != 0)
{
if (ModelState.IsValid)
{
db.Entry(license_user).State = EntityState.Modified;
db.SaveChanges();
return "Save Complete";
}
}
else
{
if (ModelState.IsValid) {
db.LICENSE_USER.Add(license_user);
db.SaveChanges();
return "New License created - " + license_user.License_ID;
}
}
return "What's going on here?";
}
Он отлично работает для редактирования, так как я в то числе поля license_id в POST. Однако для новых записей я исключаю поле License_ID и по умолчанию равен 0. Какой самый элегантный способ получить следующее поле License_ID и обновить объект с помощью этого поля?
Что не так с текущим кодом? Он выглядит корректно, если License_ID является [Id] для LICENSE_USER. BTW, вам следует рассмотреть возможность использования лучших соглашений об именах (начало здесь) http://msdn.microsoft.com/en-us/library/ms229045.aspx – kingdango