Exemple #1
0
 private manytoone CreateManyToOne(IForeignKeyColumnInfo iForeignKeyColumnInfo,@class referredClass)
 {
     manytoone mto = new manytoone();
     mto.column = iForeignKeyColumnInfo.ForeignKeyColumnName;
     mto.@class = referredClass.name;
     mto.name = currentContext.NamingStrategy.GetNameForManyToOne(referredClass.name, new string[] { iForeignKeyColumnInfo.ForeignKeyColumnName });
     return SetIfNullable(mto,new IForeignKeyColumnInfo[]{iForeignKeyColumnInfo});
 }
Exemple #2
0
 private manytoone CreateManyToOne(IForeignKeyColumnInfo[] keyManyToOne, @class referredClass)
 {
     manytoone mto = new manytoone();
     mto.Items = keyManyToOne.Select(q => new column(){ name=q.ForeignKeyColumnName}).ToArray();
     mto.@class = referredClass.name;
     mto.name = currentContext.NamingStrategy.GetNameForManyToOne(referredClass.name
                                 , keyManyToOne.Select(q=>q.ForeignKeyColumnName).ToArray() );
     return SetIfNullable(mto,keyManyToOne);
 }
        private manytoone CreateManyToOne(IForeignKeyColumnInfo iForeignKeyColumnInfo, @class referredClass)
        {
            manytoone mto = new manytoone();

            mto.column = iForeignKeyColumnInfo.ForeignKeyColumnName;
            mto.@class = referredClass.name;
            mto.name   = currentContext.NamingStrategy.GetNameForManyToOne(referredClass.name, new string[] { iForeignKeyColumnInfo.ForeignKeyColumnName });
            return(SetIfNullable(mto, new IForeignKeyColumnInfo[] { iForeignKeyColumnInfo }));
        }
 private key GenerateCollectionKey(IForeignKeyColumnInfo[] kdef)
 {
     key key;
     key = new key();
     if (kdef.Length == 1)
     {
         key.column1 = kdef[0].ForeignKeyColumnName;
     }
     else
     {
         key.column = kdef.Select(q => new column() { name = q.ForeignKeyColumnName }).ToArray();
     }
     return key;
 }
 private ITableMetadata GetPrimaryTable(IForeignKeyColumnInfo[] iForeignKeyColumnInfo)
 {
     //we should have only one table as primary
     ITableMetadata pname = null;
     foreach (var s in iForeignKeyColumnInfo)
     {
         if (pname != null && s.PrimaryKeyTableName != pname.Name)
         {
             logger.Warn(string.Format("Inconsistent key definition. Set not created"));
             return null;
         }
         pname = new TableMetadata(s.PrimaryKeyTableCatalog,s.PrimaryKeyTableSchema,s.PrimaryKeyTableName);
     }
     return pname;
 }
 protected void AddFKColumnInfo(string tablename, string constraint, IForeignKeyColumnInfo[] keyColumns)
 {
     if (!fkForTables.ContainsKey(tablename))
         fkForTables[tablename] = new Dictionary<string, IForeignKeyColumnInfo[]>();
     // need a merge...
     if (!fkForTables[tablename].ContainsKey(constraint))
     {
         fkForTables[tablename][constraint] = keyColumns;
     }
     else
     {
         List<IForeignKeyColumnInfo> orig = new List<IForeignKeyColumnInfo>();
         orig.AddRange(fkForTables[tablename][constraint]);
         orig.AddRange(keyColumns);
         fkForTables[tablename][constraint] = orig.ToArray();
     }
 }
Exemple #7
0
 private manytoone SetIfNullable(manytoone mto, IForeignKeyColumnInfo[] iForeignKeyColumnInfo)
 {
     bool notnull = true;
     foreach (var fk in iForeignKeyColumnInfo)
     {
         var meta = currentContext.GetTableMetaData(fk.ForeignKeyTableCatalog, fk.ForeignKeyTableSchema, fk.ForeignKeyTableName);
         if( null != meta )
         {
             var cinfo = meta.GetColumnMetadata(fk.ForeignKeyColumnName);
             if (true.ParseFromDb(cinfo.Nullable) == true)
             {
                 notnull = false;
                 break;
             }
         }
     }
     mto.notnull = notnull;
     mto.notnullSpecified = mto.notnull;
     return mto;
 }