实体框架映射没有模型属性的结构/复杂类型

时间:2014-01-18 23:23:02

标签: c# entity-framework fluent entity-framework-6

我有一个'模型struct',它在内部是一个字符串,但在某种程度上类似于GUID

public struct Token {

    private string _value;

    private Token(Guid uuid) {
        _value = Token.FromGuid(uuid);
    }

    public static Token FromGuid(Guid uuid) {
        // perform 'transformation'
        // stuff
        // return...
    }

    // other static methods to create a token...

}

如何使用实体框架6代码优先映射此实体?我知道不支持结构,但复杂类型似乎也不适用,因为class不包含任何属性。

1 个答案:

答案 0 :(得分:3)

结构不是受支持的EF类型。见ef supported primitives

您需要使用复杂类型。

  • modelBuilder.ComplexType<Details>();
  • 数据注释[ComplexType]

但是请考虑使用字符串并相应地管理公共get / set