我以前用Entity Framework和Microsoft SQL Server 2008做过这个项目,没有遇到任何问题。我有一个包含两个简单列(ID
和Name
)的表。我将它们绑定到DataGridView
,并且我对Insert
、Update
或Delete
没有问题。
现在我试着做同样的事情,但这次使用了两个非常复杂的表,它们具有自动递增列和外键。
当我试图将插入的信息保存在数据库中时,我出现了以下异常:
更新条目时出错。查看内部异常详细信息。
INNER异常:字符串或二进制数据将被截断。这个语句已终止。
在几乎10次停止并重新运行项目后,错误消失了,我没有改变任何东西。这个错误是为了什么?为什么我什么都没改变就走了?
如果实体框架想要无理由地抛出随机异常,并在一段时间后停止抛出这些异常,我不能相信它。
通常,当提供的数据长度大于数据库字段中指定的长度时,会发生此错误。
请确保数据库字段长度足以容纳输入数据。
我本想对此发表评论,但我没有足够的声誉发表评论。我也犯了同样的错误。看到这个答案后,我很快就发现我错在哪里了。
PM> update-database -force -Verbose
详细标记查看为自动迁移生成的Sql。
希望这能有所帮助。