我现在已经建立了几个 MVC3 站点,并认为我会给 MVC4 一个刺。但我并没有走得太远,我不确定为什么......
首先使用代码编写我的模型并生成数据库。但是,它不起作用并引发验证错误,告诉我 ID 字段是必需的。我遵循他们的命名约定,甚至尝试了不同教程中显示的几种不同的命名约定,但似乎没有任何效果。过去,EF 能够确定我的 PK,让我不必担心为插入指定它们。在我正在查看的所有 MVC4 教程中似乎都是这种情况,但不知何故,即使我完全遵循它们,我的数据库也不会生成。
我的用户模型的截断示例:
public class User
{
public int UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
然后,我的初始化程序导致错误:
public class WorkoutInitializer : DropCreateDatabaseIfModelChanges<WorkoutContext>
{
protected override void Seed(WorkoutContext context) {
var users = new List<User>
{
new User {
FirstName = "D",
LastName = "H",
Email = "blah@blahblah.com",
Password = "3f9cbbb2dad0774468af842678b11dafa7a16d81",
},
};
users.ForEach(u => context.Users.Add(u));
context.SaveChanges();
...bunch more stuff...
}
}
当调用 context.SaveChanges() 时,程序会抛出 ValidationError,通知我“需要 UserId 字段”。
我在这里想念什么?