我下表在我的MySQL數據庫:MySQL int列映射到Int64。我如何使它映射到Int32(即。int)?
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(15) NOT NULL,
`password` varchar(255) NOT NULL,
`full_name` varchar(30) NOT NULL,
`email` varchar(200) NOT NULL,
`ip_address` varchar(15) NOT NULL,
`joined_unix` int(20) unsigned NOT NULL,
`avatar` varchar(255) DEFAULT NULL,
`bio` text,
`email_confirmed` int(1) NOT NULL DEFAULT '0',
`email_confirmation_security_hash` varchar(64) DEFAULT NULL,
`last_notification_time` int(10) unsigned NOT NULL DEFAULT '0',
`last_login_unix` int(20) unsigned NOT NULL DEFAULT '0',
`admin` int(1) unsigned NOT NULL DEFAULT '0',
`SecurityStamp` longtext,
`PhoneNumber` longtext,
`PhoneNumberConfirmed` tinyint(1) NOT NULL,
`TwoFactorEnabled` tinyint(1) NOT NULL,
`LockoutEndDateUtc` datetime DEFAULT NULL,
`LockoutEnabled` tinyint(1) NOT NULL,
`AccessFailedCount` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`),
KEY `Joined unix for stats page` (`joined_unix`)
) ENGINE=InnoDB AUTO_INCREMENT=3035 DEFAULT CHARSET=utf8;
我發現我的id
列映射到Int64
我的EDMX文件中,如果我改變它,查詢扔即使EDMX成功驗證異常。
如何才能將它映射到int
(Int32
)而不是Int64?
INT(10)的選擇似乎是故意的,根據您的其他INT變量。如果你需要這個數量級,恐怕你會陷入Int64/long – ne1410s 2014-09-23 20:01:33
這是我覺得很奇怪的地方。我已經將它更改爲'Int(8)'作爲測試(也在所有相關表中)並且重新生成一個新的EDMX也將該列映射爲長'Int64'?還有什麼想法? – Luke 2014-09-23 20:08:44
啊不,沒有!我刪除了連接字符串並重新創建了它,然後它很高興! – Luke 2014-09-23 20:15:46