Как добавить словарь в таблицу SQL-сервера? - PullRequest
1 голос
/ 03 октября 2019

В моей базе данных есть таблица SQL, в которой хранится курс определенной валюты. Я хочу вставить массив всех словарных данных, которые я собрал с URL.

Используя сущность-структуру, я автоматически создаю класс сущности таблицы:

public partial class tblCurrencyRates
{
    public int Id { get; set; }
    public string CURRENCYCODE { get; set; }
    public string RATE { get; set; }
    public Nullable<System.DateTime> LAST_UPDATE { get; set; }
}

Это моя функция, котораявзятие всех курсов исторических данных определенной валюты:

public static void downloadFileByTypeCurrencyAndDateRange()
{
        string curr = "01"; // for usd dollar

        DateTime startDate = DateTime.Parse("01/01/2005");
        DateTime endDate = DateTime.Parse(DateTime.Now.ToString());
        XmlReader reader = null;
        XmlSerializer serializer = new XmlSerializer(typeof(CURRENCIES));

        Dictionary<DateTime, Dictionary<string, CURRENCY>> dict = new Dictionary<DateTime, Dictionary<string, CURRENCY>>();

        for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
        {
            string url = string.Format("{0}?rdate={1}{2}{3}&curr={4}", URL, date.Year, date.Month.ToString("d2"), date.Day.ToString("d2"),curr);
            reader = XmlReader.Create(url);
            CURRENCIES currencies = (CURRENCIES)serializer.Deserialize(reader);

            Dictionary<string, CURRENCY> tempDict = currencies.CURRENCY
                .GroupBy(x => x.CURRENCYCODE, y => y)
                .ToDictionary(x => x.Key, y => y.FirstOrDefault());

            if(tempDict.Count!=0)
                dict.Add(date, tempDict);   
        }
 }

Кроме того, у меня есть эти справочные классы, но я не уверен, что они мне нужны:

    public class CURRENCIES
    {
        [XmlElement]
        public List<CURRENCY> CURRENCY { get; set; }

        public string LAST_UPDATE { get; set; }
    }
    public class CURRENCY
    {
        public string CURRENCYCODE { get; set; }     
        public string RATE { get; set; }
    }

Я хочу создать списокtblCurrencyRates и добавить диапазон в мою таблицу, но как я могу преобразовать словарь в мой список tblCurrencyRates ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...