/// <summary> /// //Создание бд, если её нет, заполнение таблиц /// </summary> /// <param name="pictures"></param> ///TODO ///1 - в дальнейшем будет неободимо ввести границы размеров разовой операции public void GenerateDBTest(Dictionary <Guid, Picture> pictures) { #region Генерация тегов List <Tag> genaratedTags = new List <Tag>(); genaratedTags = GenerateTags(10); #endregion //переименовываем файл для отслеживания его хранения в бд foreach (var picture in pictures.Values) { if (File.Exists(picture.PictureData.Path)) { FileInfo fileInfo = new FileInfo(picture.PictureData.Path); picture.PictureData.ImgName = "DragonsCave_" + picture.PictureData.ImgName; string newPath = Path.Combine(fileInfo.DirectoryName + "\\", picture.PictureData.ImgName); picture.PictureData.Path = newPath; fileInfo.MoveTo(newPath); } } //Сохранение в базу using (PicturesContext picturesContext = new PicturesContext()) { picturesContext.picturesData.AddRange(pictures.Select(x => x.Value.PictureData).ToList()); picturesContext.SaveChanges(); picturesContext.tags.AddRange(genaratedTags); int i = picturesContext.SaveChanges(); } }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, PicturesContext picContext) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseMvc(); app.UseCors("AllowAllHeaders"); DBIntitializer.Initialize(picContext); }
/// <summary> /// На время разработки, может и потом понадобится /// </summary> public void ClearTables() { //ОЧЕНЬ ХУЁВОЕ РЕШЕНИЕ, но альтернатив пока не найдено //удаляет построчно //truncate ругается на FK, а отметять его проверку не хочу using (PicturesContext picturesContext = new PicturesContext()) { //picturesContext.picturesData.RemoveRange(picturesContext.picturesData); picturesContext.tags.RemoveRange(picturesContext.tags); picturesContext.SaveChanges(); } }
public CountryController(PicturesContext context) { this.context = context; }
public ImagesController(PicturesContext context) { this.context = context; }
public PicturesController(PicturesContext context) { db = context; }