发生了一些奇怪的事情,我不再能够从带有.net实体模型的mysql数据库中获取GUID类型。
不久前,我创建了一个使用Guid作为ID的数据库。我使用实体框架创建了与此数据库的连接,并且一切正常。
但是,我不久前丢失了数据库,不得不再次创建它,但是现在,由实体框架模型创建的类具有一个字符串作为ID,而不是以前的GUID。
我需要什么类型的ID才能在mysql数据库中创建ID,因此我可以简单地执行以下操作:
Image.ID = Guid.NewGuid();
EntityModel.Image.Add(Image);
EntityModel.SaveChanges();
这曾经可以正常工作,现在(显然)我得到一个错误:“无法将类型'System.Guid'隐式转换为'string'”
我不记得我曾经做过的事情,并且想知道这里的人是否可以提供帮助。我确实读过有关UUID()的文章,但这不是我做的。不知何故,我感觉到了mysql更新了,不知怎么了,但这对我来说似乎很奇怪。
我确实调查了一下,看到很多人建议在MySQL中将id设为二进制类型,然后将Guid转换为二进制格式并进行存储。我希望不要编写转换类来将Guid隐式转换为Binary ...
如果您使用“ Old Guids = true”,则Binary(16)应该与较新的连接器一起使用,否则它想使用char(36)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句