leilast
شنبه 04 شهریور 1396, 22:29 عصر
سلام
من برای ثبت داده در دیتابیس sql با یه مشکل مواجه شدم.
وقتی داده رو insert میکنم فقط برای بار اول (یعنی فقط یک رکورد) در دیتابیس ذخیره میشه و دفعات بعد خطا میده.
این کد رو در controller نوشتم.
public ActionResult Enrollment()
{
return View();
}
[HttpPost]
public ActionResult Enrollment(User user)
{
UserRepository BlUser = new UserRepository();
if (ModelState.IsValid)
{
if (BlUser.Add(user))
{
return JavaScript("alert('ثبت شد ');");
}
else
{
return JavaScript("alert('ثبت نشد');");
}
}
else return JavaScript("alert('مقادیر اشتباه است');");
}
این هم کد مربوط به تابع add هست که در repository نوشتم. فکر نمیکنم اشکال از این تابع باشه چون اولین داده با ای دی ۰ رو اضافه میکنه اما بعد از اون رو نمی تونه.
احتمال میدم مربوط به خاصیت auto-increment ای دی باشه.
public bool Add(MyTest.Models.DomainModels.User entity, bool AutoSave = true)
{
try
{
db.Users.Add(entity);
if (AutoSave)
return Convert.ToBoolean(db.SaveChanges());
else
return false;
}
catch
{
return false;
}
}
میشه راهنماییم کنید؟
من برای ثبت داده در دیتابیس sql با یه مشکل مواجه شدم.
وقتی داده رو insert میکنم فقط برای بار اول (یعنی فقط یک رکورد) در دیتابیس ذخیره میشه و دفعات بعد خطا میده.
این کد رو در controller نوشتم.
public ActionResult Enrollment()
{
return View();
}
[HttpPost]
public ActionResult Enrollment(User user)
{
UserRepository BlUser = new UserRepository();
if (ModelState.IsValid)
{
if (BlUser.Add(user))
{
return JavaScript("alert('ثبت شد ');");
}
else
{
return JavaScript("alert('ثبت نشد');");
}
}
else return JavaScript("alert('مقادیر اشتباه است');");
}
این هم کد مربوط به تابع add هست که در repository نوشتم. فکر نمیکنم اشکال از این تابع باشه چون اولین داده با ای دی ۰ رو اضافه میکنه اما بعد از اون رو نمی تونه.
احتمال میدم مربوط به خاصیت auto-increment ای دی باشه.
public bool Add(MyTest.Models.DomainModels.User entity, bool AutoSave = true)
{
try
{
db.Users.Add(entity);
if (AutoSave)
return Convert.ToBoolean(db.SaveChanges());
else
return false;
}
catch
{
return false;
}
}
میشه راهنماییم کنید؟