【发布时间】:2016-03-10 11:19:16
【问题描述】:
使用 LINQ,我正在尝试使用 db.Dishes.Remove(Dish); 从数据库中删除数据网格中的选定行(首先使用代码制作)
但是当我删除该项目并插入一个新项目时,新项目的主键 (id) 会“跳转”一个值。
例如
1 Shoes
2 Jeans //I delete this item
添加新项目时
1 Shoes
3 T-Shirt //jumps a value for Id
我在DBContext.cs 中也尝试过这个
modelBuilder.Entity<Cart>()
.HasOptional(i => i.Item)
.WithMany()
.WillCascadeOnDelete(true);
但它不起作用
有没有更好的方法从数据库中删除项目?
【问题讨论】:
-
您的主键设置为身份,这就是它跳跃的原因。如果您不需要数据库中的识别列,那么建议您根据功能需求制作主键并通过应用程序进行管理。
-
@user1672994 好的,但是我需要我的主键来生成数据库。即使我删除身份设置,这是否可能?
标签: c# wpf entity-framework linq