none
Сохранение XAML в базе RRS feed

  • Общие обсуждения

  • WPF C# EF SQL

    Решил я освоить запись данных так сказать целиком в базу. Якобы сериализация, но в базе, а не в файле.

    У меня RichTextBox всё в нём но на суть дела наверное это не влияет

    Делаю сохранение так (Всё работает)

                        using (MemoryStream ms = new MemoryStream())
                        {
                            tr.Save(ms, DataFormats.Rtf);
                            rtfText = Encoding.ASCII.GetString(ms.ToArray());
                        }
                        int number = _lstNumberPZ[0];
                        using (var _db = new myproektEntities())
                        {
                            var data = (from c in _db.PZDataPunkt
                                        where c.objectID == StaticVariables._objectID && c.podpunktID == number
                                        select c).FirstOrDefault();
    
                            if (data != null)
                            {
                                data.DataPunkt = rtfText;
                                _db.SaveChanges();
                            }
    }

    Всё нормально. Вопросов нет в формате rtf сохраняет и обратно загружает.

    Памятуя о том, что rtf очень большой файл, какой то там неудобный, старый и неповоротливый, то чтобы не увеличивать размер файла базы до неимоверных размеров (например 90Мб файл ttt.rtf иногда превращается в 500кб ttt.docx как пока не знаю) я решил сохранить всё в xaml

    Поменял так

                        using (MemoryStream ms = new MemoryStream())
                        {
                            tr.Save(ms, DataFormats.Xaml);
                            rtfText = Encoding.ASCII.GetString(ms.ToArray());
                        }

    Сохраняет и загружает, но загружает вместо слов вопросы

    Меняю кодировку на Unicode тогда xaml не сохраняет

    Чего можно сделать?


    26 января 2016 г. 16:40