From the details of the setter you have posted in the comments, your Description property has not been correctly created for notification of property changes. Did you write the property yourself or was it generated by the VS2008 tooling?
Your Item class (all Linq to Sql entities for that matter should implement INotifyPropertyChanging and INotifyPropertyChanged) which will give you both PropertyChanging event and PropertyChanged events, if you used the VS2008 tools you should get a couple of methods like the following in your entity classes:
protected virtual void SendPropertyChanging(string propertyName)
{
if (this.PropertyChanging != null)
{
this.PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
}
}
protected virtual void SendPropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Now within your setter of your property you should use these methods to raise the required events:
[Column(Name="Description", Storage="_Description",
DbType="NVarChar(400) NOT NULL", CanBeNull=false)]
public string Description
{
get { return this._Description; }
set
{
if ((this._Description != value))
{
this.SendPropertyChanging("Description");
this._Description = value;
this.SendPropertyChanged("Description");
}
}
}
I also noticed you don't have the Name property set in your column attribute so add it just in case (I have it included in my example assuming your column name is "Description").