Entity Framework数据模型中的SaveChange()问题

时间:2011-02-08 09:19:31

标签: entity-framework-4

我在实体框架中面临SaveChanges()方法的问题。有时它工作正常,有时它不是我得到一条错误消息说:

  

字符串或二进制数据   截断。声明一直如此   终止。

任何人都可以帮助我....

感谢。

2 个答案:

答案 0 :(得分:0)

默认情况下,所有字符串都存储为NVARCHAR(4000)。如果字符串长度超过4000个字符,则会出现此错误。要限制字段长度并向模型添加验证逻辑,请将StringLength(... maxlen ...)属性(http://msdn.microsoft.com/en-US/library/system.componentmodel.dataannotations.stringlengthattribute.aspx)与模型属性一起使用。

答案 1 :(得分:0)

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

及以下链接很有用: EF Exception: String or binary data would be truncated. The statement has been terminated.?http://forums.asp.net/t/1660868.aspx/1