Если вы загляните в свой файл DataClasses1.designer.cs (или как вы его назвали) в dbml-файл в обозревателе решений, вы найдете ваши классы такими:
[global::System.Data.Linq.Mapping.TableAttribute(Name="Production.Product")]
public partial class Product : INotifyPropertyChanging, INotifyPropertyChanged
{
//...
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProductID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public int ProductID
{
get
{
return this._ProductID;
}
set
{
if ((this._ProductID != value))
{
this.OnProductIDChanging(value);
this.SendPropertyChanging();
this._ProductID = value;
this.SendPropertyChanged("ProductID");
this.OnProductIDChanged();
}
}
}
//...
}
и т.д.
Если вы создаете интерфейс
public interface ITableHasProductId
{
int ProductID {get; set;}
}
вы можете применить этот интерфейс ко всем вашим таблицам, поместите следующий код в отдельный файл (чтобы избежать потери ваших изменений при регенерации контекста данных)
public partial class Product : ITableHasProductId {}
Затем вы можете поместить все свои таблицы в IEnumrable<ITableHasProductId>
и обновить ProductID.