C#在SQL Server CE数据库中创建NText数据类型的记录时出错

问题描述 投票:0回答:1

我在 SQL Server CE (

.sdf
) 数据库中有一个使用
NText
数据类型的表。这种类型的数据在一列中最多可以存储 32767 个字符,但是当我想用 EF 保存这个字符数的字符串时,会出现错误,但是 SdfViewer 软件可以存储相同的字符串。

我也用SQL查询完成了这个,但它仍然抛出错误。

.Net版本:7

C#代码:

Db.table.Add(new table
                 {
                     Value = "" //String length 32767
                 });
Db.SaveChanges();

错误:

一个或多个实体的验证失败。有关更多详细信息,请参阅“EntityValidationErrors”属性。

detail error pic

Table detail

c# string entity-framework sql-server-ce ntext
1个回答
0
投票

您需要像这样定义字符串属性来告诉数据库引擎该字段允许超过 4000 个字符:

   [MaxLength] 
   public string Value { get; set; }

   modelBuilder.Entity<EntityName>().Property(p => p.Value).IsMaxLength();

我在 2011 年在博客上谈到了这个问题!

© www.soinside.com 2019 - 2024. All rights reserved.