Пример #1
0
        public void CreateIndexingDb()
        {
            var indexingDb = new CachedDatabaseContainer();

            indexingDb.DeleteDatabase();
            indexingDb.CreateDatabase();
        }
Пример #2
0
        public void IndexingEntries()
        {
            var db         = new NewsObjectContext();
            var indexingDb = new CachedDatabaseContainer();

            var formatter = new BinaryFormatter();

            var controller = new NouvelleController();
            var counter    = 0;

            foreach (var id in db.Entries.Select(en => en.Id))
            {
                counter++;
                if (counter % 5 == 0)
                {
                    Debug.WriteLine(">> Indexed: " + counter);
                }
                var chk = indexingDb.EntryViews.SingleOrDefault(e => e.Id == id);
                if (chk != null)
                {
                    continue;
                }

                chk = new EntryView {
                    Id = id
                };
                var stream = new MemoryStream();
                formatter.Serialize(stream, controller.GetEntryViewModel(id));
                chk.Data = stream.ToArray();
                indexingDb.EntryViews.AddObject(chk);
                stream.Close();


                indexingDb.SaveChanges();
            }
        }