我正在尝试允许用户创建对象“房间”。他们将能够向会议室添加项目,以及为其帐户删除和创建会议室。
我这样设置桌子
CREATE TABLE [dbo].[Rooms](
[Value] [money] NULL,
[Name] [nvarchar](50) NOT NULL,
[RoomID] [int] PRIMARY KEY IDENTITY(1,1) NOT NULL,
[User] [nvarchar](128) NOT NULL)
还有我的插入代码,
[HttpPost]
public async Task<ActionResult> Create([Bind(Include = "Name, User,
RoomID")] Room room)
{
if (ModelState.IsValid)
{
using (var transaction = db.Database.BeginTransaction())
{
db.Database.ExecuteSqlCommand("SET IDENTITY_INSERT Rooms ON");
room.User = User.Identity.GetUserId();
db.Rooms.Add(room);
await db.SaveChangesAsync();
db.Database.ExecuteSqlCommand("SET IDENTITY_INSERT Rooms OFF");
transaction.Commit();
}
return RedirectToAction("Index");
}
return View(room);
}
每当我尝试向数据库中添加对象空间时,我都不会定义RoomID。我希望数据库会自动增加ID,但是会引发错误。...
违反主键约束'PK__Rooms__328639191EFADF47'。无法在对象“ dbo.Rooms”中插入重复键。重复键值为(0)。 该声明已终止。
每次将RoomID的值设置为0。