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によってプリミティブ型として扱われ、DbSetの型はエンティティである必要があります。エンティティにはプロパティ(通常はデータベースの列にマップされます)があり、キーも必要です。データベースに文字列列が1つしかないテーブルがある場合、これをモデル化するには、文字列プロパティを持つエンティティを作成する必要があります。さらに、文字列プロパティはキープロパティである必要があります。

于 2012-10-21T19:02:24.463 に答える