我有一个应用程序使用EntityFramework Code First创建数据库(如果它不存在)。并且我使用MySQL作为数据库引擎。使用实体框架CodeFirst在MySQL中创建VARCHAR BINARY列
我有一个表格,其中一个关键列需要区分大小写。我不想使用排序规则将整个数据库或表格标记为区分大小写,因此最好的方法是(将我所知)标记为BINARY。
有谁知道如何使用Code First做到这一点?我试着这样做:
[Column(TypeName = "varchar(100) BINARY")]
,但它不喜欢的是,我第一次访问DB型我得到
“System.InvalidOperationException”类型的异常出现在EntityFramework.dll但在用户代码中没有处理
附加信息:序列中没有匹配的元素
也许我应该做一个数据库创建后ALTER TABLE?
我实际上已经试过这我张贴的问题后,遗憾的是它并不在我的情况下工作,因为我需要的EF属性为一个字符串,但此列类型只与字节兼容[] –
好,如果它是二进制的,那么它不是一个字符串 - 它是字节 - 所以这部分在强类型环境中是有意义的。那么'VARCHAR(100)COLLATE utf8_bin'呢?这应该是一个区分大小写的字符串。 –
这工作正常,如果我手动创建表,但林寻找一种方式来使用EntityFramework –