我正在尝试使用Entity Framework在VS MVC ASP.net中创建自己的小应用程序。解决方案包括使用这些类的类库和ASP MVC应用程序。使用Entity Framework我从数据库创建了类,包括Context类,都是作为EntityFramework创建的,我没有编辑源代码。
之前我做过这件事并且总是很顺利。数据库中的表tbAttribute有" normal"列和一个标识列,它是自动增量和主键。正如我之前在较小的测试应用程序中所做的那样,MVC为此表生成了View to Create new row,但这一次,它还使用了ID列,它根本不应该在Create,Detail或Update View中!它不允许我将此字段留空,因为它是"必需"。
我之前做过这个,MVC从未在Views中生成标识列。 那么,是什么原因导致这种情况发生?如何将我的应用程序配置为像以前一样自动忽略ID列(不使用任何绑定排除等)?简而言之:为什么MVC突然在Views中使用标识列? 表是由类似于此的脚本创建的(原始脚本更长):
CREATE TABLE [dbo].[tbAttribute](
[AttributeID] [int] IDENTITY(1,1) NOT NULL,
[ShortName] [nchar](50) NOT NULL,
[DisplayName] [nchar](150) NOT NULL,
CONSTRAINT [pk_Attribute] PRIMARY KEY CLUSTERED
(
[AttributeID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]