实体框架将smallint(SQL Server)转换为Nullable <short> </short>

时间:2012-02-15 14:54:25

标签: entity-framework

在SQL Server数据库中,有一个名为Priority的字段,其类型为smallint,其唯一值为0和1。

在EDMX Designer中,如果我检查表映射,看起来一切都很好。 priority : smallint' is matched into优先级:Int16`

但是,在Model.tt下的自动生成的类中,我发现了这个:

public Nullable<short> Priority { get; set; }

有人可以告诉我它为什么不是int吗?我真的很困惑。我应该如何在short之后与enum匹配?

谢谢。


更新 好的。答案实际上是由Ladislav Mrnka的评论中提供的。

经过一些研究,这里列出了我的发现:

  • 在这些之间在性能方面应该没有任何区别。但是它更好地使用int16,因为它更像是.net

  • C#类型关键字及其别名是可互换的。例如,您可以使用short或System.Int16中的任何一个声明int16变量。 “短”只是一个别名。

  • 来自MSDN:

    Type    Range               Size                    .NET Framework type
    short   -32,768 to 32,767   Signed 16-bit integer   System.Int16 
    

0 个答案:

没有答案