public void AddProperty(Property property) { if (properties.Contains(property)) //.Count(p => p.Equals(property)) > 0) { return; } properties.Add(property); property.Entity = this; if (property.IsKeyProperty) { Key.AddProperty(property); } property.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(property_PropertyChanged); RaisePropertyChanged("Properties"); PropertiesChanged.RaiseAdditionEventEx(this, property); }