我正在使用EntityFramework CTP5,SQL Server 2008运行MVC3
我不相信这是问题,但我可能会提到它。 因为我很懒,所以我创建了Linq to SQL并复制了属性定义并粘贴到我自己的Model中,然后删除了dbml文件。
EntityFramework可能有些数据类型错误吗? 我仍然是EntityFramework的新手。
我添加了[key]注释。
[Key]
public System.Guid FormID;
我仍然收到此错误。
System.Data.Entity.ModelConfiguration.ModelValidationException: One or more validation errors were detected during model generation:
System.Data.Edm.EdmEntityType: : EntityType 'FormInfo' has no key defined. Define the key for this EntityType.
System.Data.Edm.EdmEntitySet: EntityType: The EntitySet FormInfoes is based on type FormInfo that has no keys defined.
我注意到“FormInfo”在EntitySet中设置为“FormInfoes”。所以,我将此添加到我的上下文
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
我初始化上下文。
DbDatabase.SetInitializer<SQLServerContext>(null);
由于DB已经存在,我不想重新创建或删除它。
感谢任何人的帮助!
答案 0 :(得分:1)
您已定义了一个字段。不是财产。将声明更改为属性
[Key]
public System.Guid FormID { get; set; }