【发布时间】:2014-10-27 23:36:11
【问题描述】:
我首先使用代码和自动生成的视图。使用该模型,我将 Column 设置为唯一。
但是当它到达 db.SaveChanges();由于数据库中有重复项,我收到错误消息。
public ActionResult Create([Bind(Include="Columns")] Tv tv)
{
if (ModelState.IsValid)
{
db.Tv.Add(tv);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(tv);
}
如何创建错误消息并将用户返回到显示该错误的上一页?我尝试过尝试捕获,但没有成功
【问题讨论】:
-
您可以使用返回值:“调用 SaveChanges 时处于已添加、已修改或已删除状态的对象数。”链接:msdn.microsoft.com/en-us/library/bb336792(v=vs.110).aspx
-
是例外吗?你可以发布确切的消息吗?
-
@RotemVaron - 是的,这是个例外
Exception Details: System.Data.SqlClient.SqlException: Cannot insert duplicate key row in object 'dbo.Tv' with unique index 'IX_TvTitle'. The duplicate key value is (Camping). The statement has been terminated. -
错误源自数据库,而不是您的代码。你能在电视桌上试试这个吗? stackoverflow.com/questions/4228073/… 和 youtube.com/watch?v=ITneqe2OCwY
-
抱歉,您到底想让我做什么?我已经有一个唯一列和一个标识列
标签: c# asp.net-mvc entity-framework