首页 新闻 会员 周边

EF 映射字段类型问题

0
悬赏园豆:40 [已解决问题] 解决于 2020-07-01 17:23

.netcore使用code frist生成数据库,使用EF映射字段时,将基类的string类型映射为text类型,子类的string类型映射为varchar类型,长度都没有超过255,是什么原因呢?

问题补充:

阿伟你怎么了的主页 阿伟你怎么了 | 初学一级 | 园豆:13
提问于:2020-07-01 16:38
< >
分享
最佳答案
0

有用特性限制长度吗?其实我觉得code first用处不是很大,你们为什么用codefrist,动手建表也不是很费劲的事情。

收获园豆:40
会长 | 专家六级 |园豆:12401 | 2020-07-01 16:48

没有,只是在配置Property使用了方法HasMaxLength

阿伟你怎么了 | 园豆:13 (初学一级) | 2020-07-01 16:50

@阿伟你怎么了: 那应该效果是一样的,如果限制了长度,应该会生成varchar吧,父类也限制了吗?

会长 | 园豆:12401 (专家六级) | 2020-07-01 16:51

@阿伟你怎么了: 把实际的代码贴出来吧,这应该好解决

Jonny-Xhl | 园豆:691 (小虾三级) | 2020-07-01 16:51

主要还是因为懒

阿伟你怎么了 | 园豆:13 (初学一级) | 2020-07-01 16:56

@会长: 问题太奇怪了,我将基类的代码放到子类中,生成的数据库还是text类型的,就基类的string映射成了text

阿伟你怎么了 | 园豆:13 (初学一级) | 2020-07-01 16:59

我用特性限制了字符串长度,生成的string类型就是varchar了

阿伟你怎么了 | 园豆:13 (初学一级) | 2020-07-01 17:06

@阿伟你怎么了: 基类里的Configure方法可能没有调用到吧,你设个断点看看,有调用到吗

会长 | 园豆:12401 (专家六级) | 2020-07-01 17:14

@会长: 还真没有调用到

阿伟你怎么了 | 园豆:13 (初学一级) | 2020-07-01 17:17

@阿伟你怎么了: 另外,主键建议用自增主键。不知道你用的什么数据库,如果是MySQL的InnoDb引擎的话,主键默认会加聚簇索引的,GUID会让相邻数据在存储介质中不连续

会长 | 园豆:12401 (专家六级) | 2020-07-01 17:19

@阿伟你怎么了: 破案了,园豆拿来

会长 | 园豆:12401 (专家六级) | 2020-07-01 17:20

@会长: 你那么多豆豆,还差我这点啊,我全身就只有100个豆子,反正谢谢你了啊

阿伟你怎么了 | 园豆:13 (初学一级) | 2020-07-01 17:21

@阿伟你怎么了: 哈哈,不过你那个豆豆不给我你也收不回去了呀,覆豆难收啊

会长 | 园豆:12401 (专家六级) | 2020-07-01 17:22

@会长: T_T

阿伟你怎么了 | 园豆:13 (初学一级) | 2020-07-01 17:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册