2011-08-03 55 views
2

我有大約十幾個標記爲tinyint的字段,它轉換爲一個字節字段。我發現我必須在我的代碼中進行大量的轉換才能與整數交互。MSSQL/C#EF - 將tinyint映射爲int?

因此,我正在考慮更改實體框架以讀取這些整數而不是字節。除了我可能傳遞超出tinyint範圍的整數的機會之外,這是否有任何含義?我只是在可能不需要他們的地方添加額外的演員陣容?

(我也想只使用,而不是在數據庫中的整數的,因爲這不會是一個高使用DB)

編輯

從下面扎克的意見/ Entity Framework Mapping SQL Server tinyint to Int16 - 它看起來像我不能只是將屬性從字節更改爲int?英孚會拋出一個錯誤?那麼,有沒有辦法做我在想什麼?

+3

請看一下這個http://stackoverflow.com/questions/5863162/entity-framework-mapping-sql-server-tinyint-to-int16 – V4Vendetta

+0

謝謝。編輯我的問題:-)。 – bryanjonker

回答

0

不應該因爲當你使用整數作爲編譯器實際優化整數真正被使用的任何問題(我沒有記錯的話)。

最好的選擇將是從字節更改數據庫值INT 。恕我直言。

+0

@Marc Gravell,對不起,我的想法和寫作有時會以兩種不同的方式出現。我聽說某處我應該使用Int而不是Int,因爲Int會得到優化。它是否正確? – Jethro

+0

它取決於上下文。例如,數組與變量不同。填充起作用時,字段非常棘手。在IL級別,一旦加載到堆棧上,它們幾乎完全相同,但大概'int'更容易加載,因爲它不需要擴展。雖然不太可能成爲瓶頸。更大的問題是非常可能的「開箱」 - 如果類型不匹配,這是一個踢球者。 –

+0

感謝您的小小教訓。非常感激。 – Jethro