Exemple #1
0
        public virtual string GetMigrationId(string migrationName)
        {
            DebugCheck.NotEmpty(migrationName);

            if (!Exists())
            {
                return(null);
            }

            using (var connection = CreateConnection())
            {
                using (var context = CreateContext(connection))
                {
                    var migrationIds
                        = CreateHistoryQuery(context)
                          .Select(h => h.MigrationId)
                          .Where(m => m.Substring(16) == migrationName)
                          .ToList();

                    if (!migrationIds.Any())
                    {
                        return(null);
                    }

                    if (migrationIds.Count() == 1)
                    {
                        return(migrationIds.Single());
                    }

                    throw Error.AmbiguousMigrationName(migrationName);
                }
            }
        }
Exemple #2
0
        public virtual string GetMigrationId(string migrationName)
        {
            if (!this.Exists((string)null))
            {
                return((string)null);
            }
            DbConnection connection = (DbConnection)null;

            try
            {
                connection = this.CreateConnection();
                using (HistoryContext context = this.CreateContext(connection, (string)null))
                {
                    List <string> list = this.CreateHistoryQuery(context, (string)null).Select <HistoryRow, string>((Expression <Func <HistoryRow, string> >)(h => h.MigrationId)).Where <string>((Expression <Func <string, bool> >)(m => m.Substring(16) == migrationName)).ToList <string>();
                    if (!list.Any <string>())
                    {
                        return((string)null);
                    }
                    if (list.Count <string>() == 1)
                    {
                        return(list.Single <string>());
                    }
                    throw Error.AmbiguousMigrationName((object)migrationName);
                }
            }
            finally
            {
                this.DisposeConnection(connection);
            }
        }