因此,我正在将数据从一个数据库导入另一个数据库。大约有5,000条记录(所以没有什么可笑的,但是足够小以至于无法引起注意)。有没有一种简单的方法可以自动截断太长的数据-特别是varchar字段?我不希望截断保持沉默,因为太长的字段可能需要引起注意,但是如果一个太长的2个字符的名称不会在插入时失败并且抛出一个完全非特定的异常,那将非常好。
我想实现的解决方案是将数据截断,插入并记录下来的解决方案。还有其他人做过类似的事情吗?
最佳答案
Linq2Sql将生成如下属性:
[Column(Storage="_Name", DbType="NVarChar(50) NOT NULL")]
public string Name
{
get
{
return this._Name;
}
set
{
if ((this._Name != value))
{
this.OnNameChanging(value);
this.SendPropertyChanging();
this._Name = value;
this.SendPropertyChanged("Name");
this.OnNameChanged();
}
}
}
看看它如何调用称为
OnNameChanged
的函数吗?只需创建一个具有该名称的函数来进行截断和记录:void OnNameChanged()
{
if (Name.Length > 50)
{
Name = Name.Substring(0, 50);
LogSomehow("Name truncated");
}
}
关于c# - 在C#中使用Linq to Sql,有什么方法可以自动截断太长的数据吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3687559/