由于我是 C# 和 linq 的新手,因此我的代码遇到了一些问题。我正在尝试将 id、icon_url 和 count 值插入到我的数据库中。但是当我插入第一行时,id 设置为 0,当我添加另一行时,我收到两个错误。我想自动递增 ID,因为它是主键并且类型为 int。我怎样才能解决这个问题?请参阅下面的代码和屏幕截图。图片数据库数据库设计错误1错误2代码:bool imcount = db.dashboards.Any(dash => dash.icon_url.Contains(imageurl)); if (imcount == false) { using (ECardModel db = new ECardModel()) { dashboard imageCount = new dashboard() { icon_url = imageurl, count = 1 }; db.dashboards.Add(imageCount); db.SaveChanges(); } } else if (imcount == true) { using (ECardModel db = new ECardModel()) { int icount = db.dashboards.Where(dash => dash.icon_url.Contains(imageurl)).Max(dash => dash.count); dashboard imageCount = new dashboard() { count = icount + 1 }; db.dashboards.Add(imageCount); db.SaveChanges(); } }
1 回答
慕慕森
TA贡献1856条经验 获得超17个赞
您无法使用查询从前端将任何列更新为自动增量。
您有 3 个选择:
选项 1:-
使用 SQL mangement studio 更新它。
选项 2:- 删除您的专栏并创建新专栏。如果当前表中没有记录。但这会改变您的列的序号位置。
-- ID is the name of the [to be] identity column
ALTER TABLE [yourTable] DROP COLUMN ID
ALTER TABLE [yourTable] ADD ID INT IDENTITY(1,1)
选项 3:
您可以删除当前的表并再次创建它,并将列设置为IDENTITY
CREATE TABLE [dbo].[table](
[Id] [int] IDENTITY(1,1) NOT NULL,
...
CONSTRAINT [PK_table] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
- 1 回答
- 0 关注
- 84 浏览
添加回答
举报
0/150
提交
取消