.NET MVC:如何在Code-First中为SQL CE定义ntext字段?
-
28-10-2019 - |
题
我有以下模型: 通用标签
我已经在BlogContent
数据库中手动将字段ntext
设置为SQL CE4
类型(16字节)。
但是,每次我尝试插入长度超过4000个字符的文本时,都会出现以下错误:
一个或多个验证失败 实体。参见“ EntityValidationErrors” 属性以获取更多详细信息
我已经尝试为
[Column(TypeName="ntext")]
设置注释,但这没有什么区别。当我循环通过EntityValidationErrors
集合时,问题是由BlogContent
引起的,并且错误显示:字符串不能超过4000个字符
如何定义我的模型以具有
ntext
字段?似乎所有数据注释都将被忽略;假定默认情况下,没有
BlogContent
的字符串限制为4000个字符。
解决方案
我已经解决了,您需要使用: 通用标签
在此处查看详细信息: http:// /www.cloudonedesign.com/Blog/Post/how-to-define-ntext-fields-using-code-first-in-net-30
为了在数据库中创建一个
ntext
列,并允许模型验证 实际上知道字符串长度可以超过4,000个字符, 必须使用这两项:
[Column(TypeName="ntext")]
:这将告诉Code-First生成一个 数据库中的ntext字段。
[MaxLength]
:使用默认值 构造函数,它将占用数据库字段的最大长度, 而不是猜测字符串的最大长度,即4,000。如果这是 缺少或您明确设置了最大长度(例如[MaxLength(8000)]
),模型验证将 出现错误,提示“字符串最大长度为4,000个字符”。