我是MVC的新手,当我为代码第一种方法构建我的模型类时,每个键ID列都设置了[ScaffoldColumn(false)]属性.我这样做是因为我不希望显然在视图中显示ID,我知道解决这个问题的方法是删除包含ID字段的每个视图中UI生成的
HTML.
我在模型中使用ScaffoldColumn设置为false时遇到的问题首先被注意到,当视图的Edit方法被触发时,我收到此错误:存储更新,插入或删除语句影响了意外的行数(0 ).当我在调试中运行代码时,ID属性实际上设置为零,如我的视图Edit HttpPost方法所示.
我希望有人可以详细说明我的问题,如果没有将ID发送到控制器方法(例如编辑HttpPost),那么在MVC中使用像ScaffoldColumn这样的属性是什么意思?我应该采用旧时尚方式,并删除由此属性未添加到键/外键属性时生成的MVC模板创建的每个视图中的HTML标记?
我找到的工作是,如果将此属性设置为false,则为每个HttpPost方法添加一个ID参数,然后在调用SaveChanges()之前设置相应的ID属性字段.