没有键定义EntityFramework CTP5

时间:2012-02-10 04:43:31

标签: asp.net-mvc-3 sql-server-2008 entity-framework-ctp5

我正在使用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已经存在,我不想重新创建或删除它。

感谢任何人的帮助!

1 个答案:

答案 0 :(得分:1)

您已定义了一个字段。不是财产。将声明更改为属性

[Key]
public System.Guid FormID { get; set; }