private IPropDef CreatePrimaryKeyProp() { var propertyName = PropNamingConvention.GetIDPropertyName(_classType); IPropDef propDef = new PropDef(propertyName, typeof(Guid), PropReadWriteRule.WriteNew, null); this.ClassDef.PropDefcol.Add(propDef); return(propDef); }
///<summary> /// Returns the PKPropName that will be used for the underlying type. /// The PKPropName will either be determined by attributes or by /// convention e.g. ClassNameID. ///</summary> ///<returns></returns> public virtual string GetPKPropName() { if (!this.IsBaseTypeBusinessObject && this.HasBaseType && !this.BaseType.IsGenericType) { return(this.BaseType.GetPKPropName()); } var propName = GetPKPropNameFromClassDef(); if (!string.IsNullOrEmpty(propName)) { return(propName); } propName = this.GetPKPropNameFromAttribute(); return(propName ?? PropNamingConvention.GetIDPropertyName(this)); }