2013-02-13 158 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