Esempio n. 1
0
        public void AddOrUpdateFile(string inFileName)
        {
            try
            {
                using (var db = new FileStoreContext())
                {
                    var file = db.Files.FirstOrDefault(f => f.FileName.Equals(inFileName, StringComparison.InvariantCultureIgnoreCase));
                    if (file == null)
                    {
                        file = new File
                        {
                            FileName   = inFileName,
                            DataCreate = DateTime.Now
                        };
                    }

                    file.DataModified = DateTime.Now;
                    db.Files.AddOrUpdate(file);

                    db.SaveChanges();
                }
            }
            catch
            { }
        }
Esempio n. 2
0
        private void AddInternal(FileStoreContext inDb, IEnumerable <File> inFiles)
        {
            const int CHUNK_SIZE = 100000;

            Console.WriteLine($"Total files for add = {inFiles.Count()}");
            var totalChunks  = (inFiles.Count() - 1) / CHUNK_SIZE + 1;
            int indexOfChunk = 0;

            foreach (var fileInChunk in inFiles.Chunk(CHUNK_SIZE))
            {
                Console.WriteLine($"Index Chunk = {indexOfChunk++}, size in chunk = {CHUNK_SIZE}, total chunks = {totalChunks}");
                inDb.Files.AddRange(fileInChunk.ToArray());

                try
                {
                    inDb.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    Console.WriteLine(ex);
                    foreach (var validationErrors in ex.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            string message = string.Format("{0}:{1}",
                                                           validationErrors.Entry.Entity.ToString(),
                                                           validationError.ErrorMessage);
                            Console.WriteLine(message);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                };
            }
        }