我已经建立了几个MVC3网站,并认为我会给MVC4刺。但我不是很远,不确定为什么...ASP.NET MVC4实体框架,不会生成数据库,说ID字段是必需的?
先使用代码写我的模型,并生成数据库。然而,它不起作用,并抛出验证错误,告诉我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 = "[email protected]",
Password = "3f9cbbb2dad0774468af842678b11dafa7a16d81",
},
};
users.ForEach(u => context.Users.Add(u));
context.SaveChanges();
...bunch more stuff...
}
}
程序抛出一个ValidationError时context.SaveChanges()被调用,通知我说“UserId字段是必需的。”
我在这里错过了什么?
您确定您的UserId是字符串类型吗? – Shyju 2012-07-17 16:44:34
你试过命名UserId只是'Id'吗? – TheGeekYouNeed 2012-07-17 18:56:35