Дозвуковая 3: Как мне создать предопределенный набор хранимых процедур? - PullRequest
0 голосов
/ 09 июля 2010

У меня большая база данных с тысячами хранимых процедур. Но мне нужно использовать только некоторые из них (скажем, около 25 хранимых процедур из 1000). Что я должен изменить в шаблонах T4, чтобы ограничить генерацию кода только теми хранимыми процедурами, которые мне нужны? В противном случае Subsonic 3 сгенерирует их все ...

Спасибо, Zohrab.

1 Ответ

0 голосов
/ 09 июля 2010

Вот что я сделал:

  1. Добавлено следующее в SQLServer.ttinclude

    // Настройка списка SP здесь

    const string SP_SQL = @"SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME = 'Имя моей хранимой процедуры' ИЛИ ​​ROUTINE_NAME = 'Имя моей другой хранимой процедуры'";

  2. метод GetSPs замещенного спискав SQLServer.ttinclude со следующим:

    List<SP> GetSPs(){
    var result=new List<SP>();
    
    //[Z.B.]pull the stored procedures in a reader
    using(IDataReader rdr=GetReader(SP_SQL)){
        while(rdr.Read()){
    
            var sp=new SP();
            sp.Name = rdr["ROUTINE_NAME"].ToString();
            sp.CleanName=CleanUp(sp.Name);
    
            sp.Parameters=GetSPParams(sp.Name);
            result.Add(sp);        
        }
    }
    
    return result;
    

    }

...