Example #1
0
        public ActionResult Populate()
        {
            try
            {
                using (var db = new MyDbContext())
                {
                    //check if we have data
                    if (!db.TestModels.Any())
                    {
                        //using TableDirect is BY FAR one of the fastest ways to bulk insert data in SqlCe... 
                        using (db.Database.Connection)
                        {
                            db.Database.Connection.Open();
                            using (var cmd = (SqlCeCommand)db.Database.Connection.CreateCommand())
                            {
                                cmd.CommandText = "TestModels";
                                cmd.CommandType = CommandType.TableDirect;

                                var rs = cmd.ExecuteResultSet(ResultSetOptions.Updatable);
                                var rec = rs.CreateRecord();

                                for (var i = 0; i < 27000; i++)
                                {
                                    rec.SetString(1, "a" + i);
                                    rec.SetString(2, "b" + i);
                                    rec.SetString(3, "c" + i);
                                    rec.SetString(4, "d" + i);
                                    rec.SetString(5, "e" + i);
                                    rec.SetString(6, "f" + i);
                                    rs.Insert(rec);
                                }
                            }
                        }
                        return View(true);
                    }
                    else
                    {
                        this.ModelState.AddModelError("DataError", "The database has already been populated with data");
                        return View(false);
                    }
                }
            }
            catch (Exception ex)
            {
                this.ModelState.AddModelError("DataError", ex.Message);
                return View(false);
            }
            
        }
Example #2
0
 public IEnumerable<SimpleDataSet> GetAllData(string indexType)
 {
     using (var db = new MyDbContext())
     {
         //using TableDirect is BY FAR one of the fastest ways to bulk insert data in SqlCe... 
         using (db.Database.Connection)
         {
             db.Database.Connection.Open();
             using (var cmd = (SqlCeCommand)db.Database.Connection.CreateCommand())
             {
                 cmd.CommandText = "TestModels";
                 cmd.CommandType = CommandType.TableDirect;
                 var rs = cmd.ExecuteResultSet(ResultSetOptions.None);
                 while(rs.Read())
                 {
                     yield return new SimpleDataSet()
                     {
                         NodeDefinition = new IndexedNode()
                         {
                             NodeId = rs.GetInt32(0),
                             Type = "TestType"
                         },
                         RowData = new Dictionary<string, string>()
                         {
                             {"Column1", rs.GetString(1)},
                             {"Column2", rs.GetString(2)},
                             {"Column3", rs.GetString(3)},
                             {"Column4", rs.GetString(4)},
                             {"Column5", rs.GetString(5)},
                             {"Column6", rs.GetString(6)}
                         }
                     };
                 }
             }                
         }
     }
 }