Beispiel #1
0
 protected virtual object CreateId(IColumnMetadata[] keyColumns,ITableMetadata tableMetadata)
 {
     if (keyColumns.Length == 1)
     {
         var id = new id();
         id.generator = GetGenerator(keyColumns[0],tableMetadata);
         id.type1 =  typeConverter.GetNHType(keyColumns[0]);
         id.name = currentContext.NamingStrategy.GetIdPropertyNameFromColumnName(keyColumns[0].Name);
         id.column1 = 0 == string.Compare(id.name, keyColumns[0].Name, true) ? null : keyColumns[0].Name;// keyColumns[0].Name;
         return id;
     }
     else
     if (keyColumns.Length > 1)
     {
         var cid = new compositeid();
         string entityName = currentContext.NamingStrategy.GetEntityNameFromTableName(tableMetadata.Name);
         cid.@class = currentContext.NamingStrategy.GetClassNameForComponentKey(entityName);
         List<keyproperty> keyps = new List<keyproperty>();
         cid.name = currentContext.NamingStrategy.GetNameForComponentKey(entityName,cid.@class);
         foreach (IColumnMetadata meta in keyColumns)
         {
             keyproperty kp = new keyproperty();
             kp.name = currentContext.NamingStrategy.GetPropertyNameFromColumnName(meta.Name);
             kp.column1 = 0 == string.Compare(kp.name, meta.Name, true) ? null : meta.Name;
             kp.length = meta.ColumnSize != 0 ? meta.ColumnSize.ToString() : null;
             kp.type1 = typeConverter.GetNHType(meta);
             keyps.Add(kp);
         }
         cid.Items = keyps.ToArray();
         return cid;
     }
     return null;
 }
 protected virtual object CreateId(IColumnMetadata[] keyColumns, ITableMetadata tableMetadata)
 {
     if (keyColumns.Length == 1)
     {
         var id = new id();
         id.generator = GetGenerator(keyColumns[0], tableMetadata);
         id.type1     = typeConverter.GetNHType(keyColumns[0]);
         id.name      = currentContext.NamingStrategy.GetIdPropertyNameFromColumnName(keyColumns[0].Name);
         id.column1   = 0 == string.Compare(id.name, keyColumns[0].Name, true) ? null : keyColumns[0].Name;// keyColumns[0].Name;
         return(id);
     }
     else
     if (keyColumns.Length > 1)
     {
         var    cid        = new compositeid();
         string entityName = currentContext.NamingStrategy.GetEntityNameFromTableName(tableMetadata.Name);
         cid.@class = currentContext.NamingStrategy.GetClassNameForComponentKey(entityName);
         List <keyproperty> keyps = new List <keyproperty>();
         cid.name = currentContext.NamingStrategy.GetNameForComponentKey(entityName, cid.@class);
         foreach (IColumnMetadata meta in keyColumns)
         {
             keyproperty kp = new keyproperty();
             kp.name    = currentContext.NamingStrategy.GetPropertyNameFromColumnName(meta.Name);
             kp.column1 = 0 == string.Compare(kp.name, meta.Name, true) ? null : meta.Name;
             kp.length  = meta.ColumnSize != 0 ? meta.ColumnSize.ToString() : null;
             kp.type1   = typeConverter.GetNHType(meta);
             keyps.Add(kp);
         }
         cid.Items = keyps.ToArray();
         return(cid);
     }
     return(null);
 }
        public static void AddKeyProperty(this compositeid theCompositeId, keyproperty keyProperty)
        {
            if (theCompositeId.Items == null)
            {
                theCompositeId.Items = new object[0];
            }

            object[] items = theCompositeId.Items;
            Array.Resize(ref items, theCompositeId.Items.Length + 1);
            items[items.Length - 1] = keyProperty;
            theCompositeId.Items    = items;
        }