Я хочу выполнить действие базы данных при входе в систему. Так что я использую хранимую процедуру для получения данных, но здесь я столкнулся с некоторыми проблемами, связанными с исключением модели.Подключение к базе данных MVC4
public ActionResult Login(UserInfo model, string returnUrl)
{
if (ModelState.IsValid)
{
List<UserInfo> loginDetails = dbContext.Database.SqlQuery<UserInfo>
("exec spGetloginUserInfo @username,@password", new SqlParameter("@username", model.username), new SqlParameter("@password", model.password)).ToList();
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
My Model
public class UserInfo
{
public string usertype { get; set; }
public string username { get; set; }
public string password { get; set; }
public bool active { get; set; }
public DateTime lastmodifieddate { get; set; }
public string modifiedby { get; set; }
public bool RememberMe { get; set; }
}
Исключение брошено является
Исключение типа 'System.Data.Entity.ModelConfiguration.ModelValidationException' произошло в EntityFramework.dll но не обрабатывается в коде пользователя
Пожалуйста, дайте мне знать, где я делаю неправильно, а также подходит ли мой подход? А также есть ли другой способ взаимодействия с базой данных другой, что используется в хранимой процедуре.
вы уверены, что не все обнуляемых свойства передаются перед вызовом Войти действие, т.е. lastmodifieddate? Что касается вашего подхода, если бы я был у, я бы написал свою логику в linq вместо SP, чтобы избежать рассеяния моей бизнес-логики более чем на один уровень. – Gouda
ya Я уверен, что все не могут быть обнулены. как я могу использовать linq в этом случае. не могли бы вы бросить больше света на это. –
Его просьба определить ключ для EntityType 'UserInfo'. Я не знаю, какой ключ он ищет. –