47

char プロパティを持つオブジェクトがあります。

public class Product
{
    public char Code
    {
        get;
        set;
    }
}

Entity Framework は文字をマップできないようです (モデル オブジェクトからデータベース スキーマを作成すると、このフィールドがデータベースに表示されません)。流暢な API を使用して char を (たとえば文字列に) マッピングできる方法はありますか? モデル オブジェクトは従来の共有ライブラリの一部であるため、変更したくありません。

4

5 に答える 5

75

Charはエンティティフレームワークの有効なプリミティブ型ではありません=エンティティフレームワークはそれをマップしません。CSDLリファレンスをチェックすると、有効なタイプのリストが表示されます(charそれらの中にはありません)。

データベースchar(1)stringSQLからCSDLへの変換)として変換されます。固定長1の非Unicode文字列Charとして記述されます。

唯一の醜いオプションは、文字列を使用して2番目にマップされたプロパティであり、charマップされていないプロパティはそのプロパティから使用するだけstring[0]です。これは、いくつかの単純なタイプのマッピングまたはコンバーターがEFで欠落しているもう1つの例です。

于 2011-07-20T13:26:14.927 に答える