ben*_*ndr 5 c# sql sql-server asp.net identity
我正在尝试将订单详细信息插入到我的数据库中,它一直在说:
当IDENTITY_INSERT设置为OFF时,无法在表'Orders'中为identity列插入显式值.
我想要做的只是将用户UserId插入UserId列,使用WebSecurity.CurrentUserId- 为什么这不起作用?
我有:
dbase.Execute("INSERT INTO Orders
(UserId, OrderId, Status)
VALUES
(@0, @1, @2)",
WebSecurity.CurrentUserId,
Session["OSFOID"],
"Confirmed");`
Run Code Online (Sandbox Code Playgroud)
所以,正如你所看到的,它非常简单.但是,为什么它不起作用?
我的表定义是:

Mar*_*ell 11
除非你能做到身份插入(通过设置标识插入的能力上那个表),你都不准碰该列-数据库拥有它.
要么简单地启用标识插入,要么:不要尝试插入UserId(让DB创建一个新的id).
根据在线图书,SET IDENTITY_INSERT:
SET IDENTITY_INSERT Orders ON
INSERT INTO Orders (UserId, OrderId, Status) VALUES (@0, @1, @2)
SET IDENTITY_INSERT Orders OFF
Run Code Online (Sandbox Code Playgroud)
但更有可能的是:如果这是Orders表格,那么身份是否应该开启OrderId?OrderId当然,因为你试图控制它,你仍然会遇到同样的问题.