Имеет смысл использовать целое число в базе данных, но я хочу сделать вид, что это всегда была строка (а не строка, соответствующая int), потому что она проще.
Причина этого заключается в том, что пользовательское представление является зашифрованной версией строки, но я никогда не хочу видеть int, если не работаю напрямую с базой данных (int является столбцом IDENTITY).
Итак, у меня есть отображение LINQ, которое я хочу заменить. В принципе, я хочу заменить это (который находится в конструкторе)
[global::System.Data.Linq.Mapping.ColumnAttribute] //...
public int TID
{
get
{
return this._TID;
}
set
{
if ((this._TID != value))
{
this.OnTIDChanging(value);
this.SendPropertyChanging();
this._TID = value;
this.SendPropertyChanged("TID");
this.OnTIDChanged();
}
}
}
С этим
[global::System.Data.Linq.Mapping.ColumnAttribute] //...
public string TID
{
get
{
return Convert.ToString(this._TID + 5);
}
set
{
if ((this._TID - 5 != Int32.Parse(value)))
{
this.OnTIDChanging(value);
this.SendPropertyChanging();
this._TID = Int32.Parse(value) - 5;
this.SendPropertyChanged("TID");
this.OnTIDChanged();
}
}
}
Это позволило бы мне, например, использовать asp:QueryStringParameter
в WhereParameters
LinqDataSource
вместо переотображения строки запроса в коде позади.