【问题标题】:How to map tinyint to int?如何将tinyint映射到int?
【发布时间】:2011-08-03 11:46:42
【问题描述】:

我有大约十几个字段标记为 tinyint,它转换为字节字段。我发现我必须在代码中对 int 进行大量转换才能与整数交互。

因此,我正在考虑更改实体框架以将它们读取为整数而不是字节。除了我可能传入一个超出tinyint范围的整数之外,这是否有任何影响?我是否只是在可能不需要的地方添加了额外的演员表?

(我也在考虑只在数据库中使用整数,因为这不会是一个高使用率的数据库。)

编辑

来自 Zach 在下面的评论 /Entity Framework Mapping SQL Server tinyint to Int16 -- 看起来我不能只将属性从字节更改为整数? EF会抛出错误吗?那么,有没有办法做我在想的事情?

【问题讨论】:

标签: c# entity-framework


【解决方案1】:

当你使用 Integers 时应该没有任何问题,因为编译器实际上优化了整数(我没有弄错。)

最好的办法是将数据库值从字节更改为整数。恕我直言。

【讨论】:

  • @Marc Gravell,对不起,我的想法和写作有时会变成两种不同的东西。我在某处听说我应该使用 Int 而不是简写,因为 Int 得到了优化。这是正确的吗?
  • 这取决于上下文。例如,数组不同于变量。当填充开始起作用时,字段很棘手。在 IL 级别,一旦加载到堆栈中,它们几乎都是相同的,但大概int 更容易加载,因为它不需要扩展。不过,不太可能成为瓶颈。更大的问题很可能是“拆箱”——如果类型不匹配,这会很麻烦。
  • 感谢您的小课。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2012-04-06
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 2011-04-30
  • 2014-11-20
  • 2011-12-23
  • 2015-08-27
相关资源
最近更新 更多