首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架7,MaxLength

实体框架7,MaxLength
EN

Stack Overflow用户
提问于 2016-04-22 15:47:00
回答 2查看 412关注 0票数 0

我试图在我的模型上为string属性设置MaxLength (ASP.Net 5,EF7)。

我可以毫无问题地应用迁移。但是,一旦在运行'dnx数据库更新‘之后创建了数据库,我为其设置MaxLength(10)的模型在数据库中具有数据类型varchar(1)。

我已经检查了DBContext以及快照文件,列的最大值为10。

我不知道为什么代码第一次没有拿起MaxLength?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-26 09:32:54

我发现了这个问题,我希望它也能帮助到其他人。

事实证明,我已经对模型和dbcontext都有了数据注释。一定是在其中一个上面。

我已经从dbcontext 'onModelCreating‘方法中删除了所有数据注释,比如IsRequired()和HasMaxLength,并且只在我的模型上使用它们。我已经更新了用于InitialSchema迁移的数据库,现在所有的数据类型都是正确的。

票数 0
EN

Stack Overflow用户

发布于 2016-04-22 16:20:30

不要使用MaxLength (10),而是使用StringLength(10)

以前的EF版本仅用于代码第一迁移中的模式生成,而MaxLength则同时适用于迁移和客户端验证。

我不能告诉你为什么MaxLength不适合你,它可能在目前的开发阶段只考虑到StringLength

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36798215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档