3

我想要一个字符串列表,并使用 EF-CodeFirst 将它们保存并加载到数据库中。这是我的 DbContext 类:

public class KeysDbContext : DbContext
{
    public DbSet<string> Keys { get; set; }
}

但是当我尝试运行代码时,我得到了这个异常System.InvalidOperationException::The type 'System.String' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject.

我该如何解决这个问题?

4

1 回答 1

4

你不能有一个DbSet<string>. EF 将 String 视为原始类型,并且 DbSet 的类型必须是实体。实体具有属性(通常映射到数据库中的列)并且还必须具有键。如果在您的数据库中,您有一个只有一个字符串列的表,您将必须创建一个具有字符串属性的实体来对此进行建模。此外,字符串属性必须是键属性。

于 2012-10-21T19:02:24.463 回答