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; }