Query() public method

Enumerates the reader yielding the result - thanks to Jeroen Haegebaert
public Query ( string sql ) : IEnumerable
sql string
return IEnumerable
        private static void Main( string[] args )
        {
            var model = new DynamicModel( args[0] );

            bool whatif = Array.IndexOf( args, "-whatif" ) > 0;

            IEnumerable<dynamic> packages = model.Query(
                    @"  SELECT pr.Id, p.[Key], p.Version, p.NormalizedVersion
                        FROM Packages p
                        INNER JOIN PackageRegistrations pr ON pr.[Key] = p.PackageRegistrationKey
                        WHERE p.NormalizedVersion IS NOT NULL AND p.Version != p.NormalizedVersion" );

            foreach ( dynamic package in packages )
            {
                string old = String.Format( "{0}.{1}.nupkg", package.Id.ToLower(), package.Version );

                string replacement = String.Format( "{0}.{1}.nupkg", package.Id.ToLower(), package.NormalizedVersion );

                Console.WriteLine( "Copy: {0} to {1}", old, replacement );

                if ( !whatif )
                {
                    File.Copy( Path.Combine( args[1], old ), Path.Combine( args[1], replacement ), true );
                }
            }
        }
Example #2
0
 protected void InitializeDatabase()
 {
     _cachedDefinitions = new Dictionary<string, DynamicModel>();
       _tableDefinitions = new Dictionary<String, dynamic>();
       var massive = new DynamicModel(_connectionName);
       var tableDefinitions = massive.Query(SqlTableScript);
       foreach (dynamic definition in tableDefinitions){
     _tableDefinitions[definition.Table.ToUpper()] = definition;
       }
 }
 public void Should_connect_to_sql_ce_db()
 {
     var dbPath = Path.Combine(new DirectoryInfo(Environment.CurrentDirectory).Parent.Parent.Parent.FullName,
                               "TeamReview.Web", "App_Data", "TeamReview.sdf");
     var connectionString = string.Format("Data Source={0};Persist Security Info=False;", dbPath);
     var database = new DynamicModel("DefaultConnection", "UserProfile", "UserId").SetConnectionString(connectionString);
     var results = database.Query("SELECT UserName FROM UserProfile");
     foreach (var result in results) {
         Console.WriteLine(result.UserName);
     }
 }
        public RecordHierarchy GetRecordHierarchy(Entity entity)
        {
            var index = 0;
            var hierarchy = GetEntityHierarchy(null, entity, ref index);
            var sql = GenerateHierarchySql(hierarchy);
            var model = new DynamicModel(AdminInitialise.ConnectionStringName);
            var records = model.Query(sql, entity.Key.Value.Raw).ToList();

            var recordHierarchy = GetHierarchyRecords(records, hierarchy);

            return recordHierarchy;
        }
Example #5
0
		public static void Export(ExportArguments exportArgs)
		{
			var connStrBuilder = new MySqlConnectionStringBuilder
			{
				Server = exportArgs.Server,
				UserID = exportArgs.User,
				Password = exportArgs.Password,
				Database = exportArgs.Database
			};
			var model = new DynamicModel(connStrBuilder.ConnectionString, exportArgs.Table);
			IEnumerable<dynamic> records = exportArgs.UseQuery ? model.Query(exportArgs.Query) : model.All();
			string json = JsonConvert.SerializeObject(records);
			Console.WriteLine(json);
		}
        public RecordHierarchy GetRecordHierarchy(Entity entity)
        {
            _log.InfoFormat("Getting record hierarchy for entity record ({0}#{1})", entity.Name, entity.JoinedKeyWithValue);

            var index = 0;
            var hierarchy = GetEntityHierarchy(null, entity, ref index);
            var sql = GenerateHierarchySql(hierarchy);
            _log.DebugFormat("Sql hierarchy: \r\n {0}", sql);
            var model = new DynamicModel(Admin.ConnectionStringName);
            var records = model.Query(sql, entity.Key.Select(x => x.Value.Raw).ToArray()).ToList();

            var recordHierarchy = GetHierarchyRecords(records, hierarchy);

            return recordHierarchy;
        }
Example #7
0
        private static void AdHocQuery()
        {
            /* initialize dynamic model */
            var tbl = new DynamicModel("MyConnection", tableName: "Customers", primaryKeyField: "CustomerID");

            /* retrieve all records via ad-hoc query */
            var customers = tbl.Query("SELECT * FROM CUSTOMERS");

            /* iterate over result set */
            foreach (var customer in customers)
            {
                Console.WriteLine("{0} {1} {2} {3}", customer.Title, customer.FirstName, customer.LastName, customer.Suffix);
            }

            /* pause output */
            Console.ReadLine();
        }
        public RecordHierarchy GetRecordHierarchy(
            EntityRecord entityRecord,
            IList<PropertyDeleteOption> deleteOptions = null)
        {
            _log.InfoFormat(
                "Getting record hierarchy for entity record ({0}#{1})",
                entityRecord.Entity.Name,
                entityRecord.JoinedKeyWithValue);

            var hierarchy = GetEntityHierarchy(entityRecord.Entity, deleteOptions);
            var sql = GenerateHierarchySql(hierarchy);
            _log.Debug($"Sql hierarchy: \r\n {sql}");
            var model = new DynamicModel(_admin.ConnectionStringName);
            var records = model.Query(sql, entityRecord.Key.Select(x => x.Raw).ToArray()).ToList();

            var recordHierarchy = GetHierarchyRecords(records, hierarchy);

            return recordHierarchy;
        }
        public static IList<SolicitudEntrega> GetSolicitudesEntregadas()
        {
            var sucursalId = int.Parse(ConfigurationManager.AppSettings["SucursalId"]);
            var tbl = new DynamicModel("diarco", tableName: "SolicitudEntrega", primaryKeyField: "id");

            var result = tbl.Query(@"SELECT SolicitudEntrega.id as Id, SolicitudEntrega.startsAt as StartsAt, SolicitudEntrega.sucursalId as SucursalId,  User.firstName as ProveedorRazonSocial, ordenDeCompraId as OrdenDeCompraId 
                                     FROM SolicitudEntrega 
                                     INNER JOIN User On User.id = SolicitudEntrega.userId 
                                     INNER JOIN SolicitudEntrega_OrdenDeCompra On SolicitudEntrega_OrdenDeCompra.solicitudEntregaId = SolicitudEntrega.id 
                                     WHERE SolicitudEntrega.status = 5 and  SolicitudEntrega.checks is null 
                                     ORDER BY SolicitudEntrega.startsAt").ToList().Where(s => s.SucursalId == sucursalId || sucursalId == 0).ToList();

            return result.GroupBy(s => s.Id)
                .Select(g => new SolicitudEntrega
                {
                    Id = g.Key,
                    StartAt = g.First().StartsAt,
                    ProveedorRazonSocial = g.First().ProveedorRazonSocial,
                    OrdenesDeCompra = string.Join(" | ",g.Select(o => o.OrdenDeCompraId).Distinct())
                }).ToList();


        }