2013-02-13 163 views
0

我是全新的,以.NET爲它工作了至少每週所以請去容易並詳細越好:)實體框架映射問題

我有以下PONO:

Public Class WorkOrderEntity 

    Private intTrackingNumber As Integer 
    Private intDateReceived As Integer 
    Private strManufacturer As String 

    Public Property TrackingNumber() As Integer 
     Get 
      Return intTrackingNumber 
     End Get 

     Set(value As Integer) 
      intTrackingNumber = value 
     End Set 
    End Property 

    Public Property DateReceived() As String 
     Get 
      ' TODO: Convert timestamp to formatted date 
      Return intDateReceived 
     End Get 

     Set(value As String) 
      ' TODO: Convert formatted date to timestamp 
      intDateReceived = value 
     End Set 
    End Property 

End Class 

我面臨的問題是如何將日期/時間存儲爲時間戳(整數),但提供相應格式/轉換的公共屬性。

我想我可以提供額外的getter()/ setter(),但理想情況下我想知道EF是否有辦法繞過這個「約定」?

此外 - 我也很好奇,是否有可能將屬性映射到未正確標記的列?

基本上,如果我在現有的數據庫中工作(EF會自動構建我的PONO,其屬性以表字段命名)我希望將這些字段命名爲更有意義的東西;一些領域例如可能是笨拙的縮寫,但在對象模型中我想要更多的英語友好?

我似乎記得能夠在Java中使用Hibernate(實際上它是PHP端口)執行此操作,但EF永遠不會少支持這種功能嗎?

任何想法?

+0

是他們的PONO。 – spajce 2013-02-13 17:48:34

+1

Plain Old Net Objects - 這是POJO上的一個遊戲:p – 2013-02-13 18:27:44

+0

我看到了,我不知道那個':D' – spajce 2013-02-13 18:31:05

回答

0

時間戳SQL Server至少現在是RowVersion。在任何一種情況下,它都不是一個日期時間,而是一個字節數組,當該行發生更改時自動更新該版本。您不會將其轉換爲日期。

關於通過配置而非約定映射元素,可以使用屬性或流暢語法來指定映射。有關如何使用這些功能的信息,請參見http://msdn.microsoft.com/en-US/data/jj200620