我有一个C#代码,批量处理很多插入语句.在执行这些语句时,我得到"字符串或二进制数据将被截断"错误和事务roledback.
要找出导致这种情况的insert语句,我需要在SQLServer中逐个插入,直到我遇到错误.
有没有聪明的方法来查找哪个语句和哪个字段使用异常处理导致此问题?(SQLEXCEPTION)
我正在使用update-database
Entity Framework中的命令更新我的数据库,并且它正在引发错误消息:String or binary data would be truncated. The statement has been terminated
如何允许更新工作?
当您有 80(+/-) 列可供选择时,您如何确定哪一列是罪魁祸首?使用 .Net Core (netcoreapp2.2) 和 EF Core 2.2.4。
拿起一些现有的代码,并尝试跟踪失败的列。但是,它不起作用。我在这里和其他地方查看了数十个示例,但没有找到在 EF Core 2.x 中执行此操作的方法。
public int GetColumnMaxLength(string table, EntityEntry entityEntry)
{
// Just a rough to get the right data - always returns 0 for the moment...
int result = 0;
var modelContext = entityEntry.Context;
var entityType = modelContext.Model.FindEntityType(table); // THIS IS ALWAYS NULL!
if (entityType != null)
{
// Table info
var tableName = entityType.Relational().TableName;
var tableSchema = entityType.Relational().Schema;
// Column info
foreach (var property in entityType.GetProperties())
{ …
Run Code Online (Sandbox Code Playgroud)