2014-01-18 121 views
3

我有一個'model 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... 

} 

我如何使用映射實體框架六典首先這個實體?我知道結構不受支持,但複雜類型也似乎不適用,因爲class不包含任何屬性。

+0

地圖。顯示你想要的用法。你想要一個擁有這種屬性的Poco?你已經嘗試過了什麼? –

+0

'你想要一個擁有這種屬性的Poco?'究竟。我需要一個像GUID一樣隨機的'全球唯一'id,但是友好的url。 – Acrotygma

+0

爲什麼不使用公共字符串set/get並在內部使用你的結構?你爲什麼打折一個複雜的類型? –

回答

3

結構不是支持的EF類型。請參閱ef supported primitives

您需要改爲使用複雜類型。

  • modelBuilder.ComplexType<Details>();
  • 數據註解[ComplexType]

但考慮使用字符串和管理公衆獲取替代/相應地設置在何種意義上