我非常陌生.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 :(得分:0)
时间戳SQL Server至少现在是一个RowVersion。在任何一种情况下,它都不是日期时间,而是版本的字节数组,当行更改时自动更新。您没有将其转换为日期。
关于通过配置而不是约定来映射元素,可以使用属性或fluent语法来指定映射。有关如何使用这些功能的信息,请参阅http://msdn.microsoft.com/en-US/data/jj200620。