所以,我将数据从一个数据库导入另一个数据库.大概有5000条记录(所以没有什么可笑的,但不足以让人眼前一亮).是否有一种简单的方法可以自动截断太长的数据 - 特别是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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
看看它如何调用一个名为的函数OnNameChanged?只需创建一个具有该名称的函数来执行截断和日志记录:
void OnNameChanged()
{
if (Name.Length > 50)
{
Name = Name.Substring(0, 50);
LogSomehow("Name truncated");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |