/// <summary> /// Get the value of the primary key components for a given row /// </summary> /// <param name="row"></param> /// <returns></returns> public IList <object> GetPrimaryKeyValues(object row) { if (row == null) { return(null); } // Make sure it's of the right type, and handle collections row = PreprocessRowObject(row); return(Misc.GetKeyValues(PrimaryKeyColumns, row)); }