сборки проекта не приходилось вводить dotnet ef migrations add InitialCreate
Нет, а зачем оно надо
ах если бы кто-нибудь придумал возможность выполнять команды в консоли... Можно было писать целые программы и называть их ммм... билд скрипты
так да. я все понимаю, даже бедный код чатгпт написал мне)) но не взлетел
так что не взлетело-то
using AwardsFetcher.Data; using AwardsFetcher.Models; using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; using System.Diagnostics; namespace AwardsFetcher { class Program { static HttpClient _client = new HttpClient(); static async Task Main(string[] args) { using (var context = new AwardsContext()) { // Удалить базу данных, если она существует context.Database.EnsureDeleted(); // Удалить старые и создать новые миграции RunCommand("dotnet", "ef migrations remove"); RunCommand("dotnet", "ef migrations add InitialCreate"); // Применить миграции context.Database.Migrate(); } // Использование вашей функции для получения информации var award = await IviTvshowInfo(hru: "igra-prestolov-amedia", appVersion: 4317); using (var context = new AwardsContext()) { context.Add(award); context.SaveChanges(); } } public static void RunCommand(string command, string args) { ProcessStartInfo startInfo = new ProcessStartInfo { FileName = command, Arguments = args, RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false, CreateNoWindow = true, }; Process process = new Process { StartInfo = startInfo }; process.Start(); process.WaitForExit(); } private static async Task<Result> IviTvshowInfo(int? id = null, string? hru = null, int appVersion = 2182) { string apiUrlStr = $"https://api.ivi.ru/mobileapi/compilationinfo/v7/?app_version={appVersion}"; if (id.HasValue) { apiUrlStr += $"&id={id.Value}"; } if (!string.IsNullOrWhiteSpace(hru)) { apiUrlStr += $"&hru={hru}"; } Uri apiUrl = new Uri(apiUrlStr); var apiResponse = await FetchApiData(apiUrl); var root = JsonConvert.DeserializeObject<Root2>(apiResponse); if (root == null || root.result == null) { throw new JsonException("Failed to deserialize the API response."); } return root.result; } private static async Task<string> FetchApiData(Uri apiUrl) { HttpResponseMessage? response = null; const int maxRetries = 10; for (int i = 0; i < maxRetries; i++) { try { response = await _client.GetAsync(apiUrl); response.EnsureSuccessStatusCode(); break; } catch (HttpRequestException) when (i < maxRetries - 1) { await Task.Delay(500); } } if (response == null) { throw new InvalidOperationException("Max retry attempts exceeded."); } return await response.Content.ReadAsStringAsync(); } } }
Можешь сделать мсбилд таску
не, эту хуиту сразу убирай
Обсуждают сегодня