Пример #1
0
        /// <summary>
        /// This will return the target column name.  this is important because we do not want to return the column name of the current table, but rather that
        /// column it is pointing to.  this DOES NOT check and see if the item already exists.
        /// </summary>
        /// <param name="This">The Context Relationship</param>
        /// <param name="ContextSchemaObjectName">The parent with the column name you don't want</param>
        /// <returns></returns>
        private static string AsObjectPropertyNameAttempt(this RelationshipSummary relGroupSummary)
        {
            var PROC_NAME         = string.Format("RelationshipExtentions.AsObjectPropertyNameAttempt('FKName={0}')", relGroupSummary.Name);
            var ToObjectFieldName = "";

            try
            {
                var    entity = relGroupSummary.Entity;
                var    RelationshipObjectNameList = new List <string>();
                string ToTableName = entity.Parent.Entities[relGroupSummary.ToTableName].Alias;
                ToObjectFieldName = ToTableName.ToCsObjectName();
                //string ToObjectFieldName = relGroupSummary.ToUniqueColumnName().ToCsObjectName();
                var CountOfThisEntityInRelationships = relGroupSummary.Entity.Relationships.CountItems(RelationSearchField.ToTableName, relGroupSummary.ToTableName);
                if (CountOfThisEntityInRelationships > 1)
                {
                    //ToObjectFieldName = ToTableName + string.Join(",", relGroupSummary.ToColumnName).ToCsObjectName();
                    ToObjectFieldName = ((relGroupSummary.MultiplicityType.EndsAsMany() ?
                                          relGroupSummary.ToUniqueColumnName().ToPlural() :
                                          string.Join(",", relGroupSummary.ToColumnName) + Internal.AppSettings.Instance.Configuration.Database.InverseFKTargetNameCollisionSuffix)
                                         ).ToCsObjectName();
                }
                else
                {
                    ToObjectFieldName = ((relGroupSummary.MultiplicityType.EndsAsMany() ?
                                          relGroupSummary.ToUniqueColumnName().ToPlural() :
                                          ToObjectFieldName + Internal.AppSettings.Instance.Configuration.Database.InverseFKTargetNameCollisionSuffix)
                                         ).ToCsObjectName();
                }
                return(ToObjectFieldName);
            }
            catch (Exception ex)
            {
                return(string.Format("/* ERROR: {0} */", string.Format("{0}: {1}", PROC_NAME, ex.Message)));
            }
        }