Entity framework 4 实体框架数据模型中的SaveChange()存在问题

Entity framework 4 实体框架数据模型中的SaveChange()存在问题,entity-framework-4,Entity Framework 4,实体框架中的SaveChanges()方法存在问题。有时工作正常,有时不正常。相反,我收到一条错误消息,说: 字符串或二进制数据将是 截断的。声明已被修改 终止 有人能帮我做这件事吗 谢谢。默认情况下,所有字符串都存储为NVARCHAR(4000)。如果字符串长度超过4000个字符,则会出现此错误。若要限制字段长度并向模型添加验证逻辑,请将StringLength(…maxlen…)属性()与模型属性一起使用。您可以在上的数据库表中更正此问题 “nvarchar”和“varchar Column

实体框架中的
SaveChanges()
方法存在问题。有时工作正常,有时不正常。相反,我收到一条错误消息,说:

字符串或二进制数据将是 截断的。声明已被修改 终止

有人能帮我做这件事吗


谢谢。

默认情况下,所有字符串都存储为NVARCHAR(4000)。如果字符串长度超过4000个字符,则会出现此错误。若要限制字段长度并向模型添加验证逻辑,请将StringLength(…maxlen…)属性()与模型属性一起使用。

您可以在上的数据库表中更正此问题 “nvarchar”和“varchar Columns”可以增加表中列的长度 也 使用EF插入或更新时,可以检查值的长度,并使用 调用SaveChanges()方法时的SQL探查器 在域层或实体上的GET和SET方法中检查您的值

下面的链接很有用: ,

我想你需要提供更多的信息。这种情况总是发生在同一类型的人身上吗?班级/模型是什么样子的?数据库中相应的表是什么样子的?我想说的是,您试图在一个太小而无法完全包含它的字段中插入一个大值,但更多的信息就更好了。在这种情况下,您可能有一个输入(文本框),它有时比数据库中定义的字段长度短,有时又太长。检查所有输入-它们映射到哪个数据库列?该列上定义的最大长度是多少???。我在表单中使用了相同的数据。。。。有时是有效的,有时是无效的感谢Kuvalda.Spb.Ru的回复…我在表格中使用了相同的数据。。。。有时它是有效的,有时它不尝试使用EF调试可视化工具-