Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Entity Data Class XmlSerializer / 21 сообщений из 21, страница 1 из 1
28.06.2013, 12:04
    #38313823
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
Можно ли как-нибудь сериализовать Data Class из модели EF не создавая класс с атрибутом XmlElement?
...
Рейтинг: 0 / 0
28.06.2013, 12:18
    #38313843
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
Можно. Смотря какой класс сериализуется.
...
Рейтинг: 0 / 0
28.06.2013, 12:32
    #38313872
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
Но лучше всего отдавать в json не ef enity, а что-то вроде этого ( 14493268 ):

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
var ctx = new AdventureWorks2012Entities();
ctx.Configuration.ProxyCreationEnabled = false;
var item = ctx.CountryRegionCurrencies.Include("Currency").FirstOrDefault();

var obj = new
{
    CountryRegionCode = item.CountryRegionCode,
    CurrencyCode = item.CurrencyCode,
    ModifiedDate = item.ModifiedDate,
    Currency = new
    {
        Name = item.Currency.Name,
    }
};

string json = DynamicJson.Serialize(obj);
...
Рейтинг: 0 / 0
28.06.2013, 13:22
    #38313955
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
МСУ,


Мне в базу потом надо загнать данные в XML
Я написал так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
        private XDocument GetSerializer(System.Object item)
        {
            StringWriter sw = new StringWriter();
            XmlSerializer xs = new XmlSerializer(item.GetType());
            xs.Serialize(sw, item);
            XDocument ser = XDocument.Parse(sw.GetStringBuilder().ToString());
            return ser;
        }
...
Рейтинг: 0 / 0
28.06.2013, 13:33
    #38313969
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
А, так у тебя xml, я почему-то заморочился на json. Ну так тогда вообще всё просто.
...
Рейтинг: 0 / 0
28.06.2013, 14:07
    #38314017
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
МСУ,

Вроде сериализатор получил.
Теперь циклическую ссылку не могу победить.
У таблицы есть связь 1 ко многим. Сделал ее в моделе internal, но не помогает
...
Рейтинг: 0 / 0
28.06.2013, 14:20
    #38314043
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
Pavluha, я ж тебе написал, собирай объект таким образом:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var obj = new
{
    CountryRegionCode = item.CountryRegionCode,
    CurrencyCode = item.CurrencyCode,
    ModifiedDate = item.ModifiedDate,
    Currency = new
    {
        Name = item.Currency.Name,
    }
};



или через DTO.
...
Рейтинг: 0 / 0
28.06.2013, 14:23
    #38314046
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
МСУ,

Можно проще!

У связи выставляешь Child Property -> Access -> Internal
И это связь уже для сериализатора не видна. Таким же образом отключаются свойства, которые не нужно сериализовать.
Я так свойство типа binary еще отключил. Теперь все работает
...
Рейтинг: 0 / 0
28.06.2013, 14:26
    #38314052
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
Ты издеваешься?

Я не собираюсь из-за какой-то там местячковой сериализации ломать свою EF схему и выключать child property. Сейчас эта связь не нужна, завтра понадобится. И что прикажешь делать, танцевать с бубном у костра?
...
Рейтинг: 0 / 0
28.06.2013, 14:31
    #38314062
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
МСУ,

А кто сказал, что я ее выключил. Она работает, как и должна, все подноготную связи и данные можно получить.
...
Рейтинг: 0 / 0
28.06.2013, 14:42
    #38314084
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
PavluhaМСУ, А кто сказал, что я ее выключил.
Ты сказал, а кто ж еще. Child Property -> Access -> Internal

PavluhaОна работает, как и должна, все подноготную связи и данные можно получить.
Где получить? Зачем получить? Ты о чем?
...
Рейтинг: 0 / 0
28.06.2013, 14:46
    #38314092
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
МСУТы сказал, а кто ж еще. Child Property -> Access -> Internal


Да, именно так.

МСУГде получить? Зачем получить? Ты о чем?


Я про то, что если мне необходимо по связи получить данные родителя или потомка, то все видно.
...
Рейтинг: 0 / 0
28.06.2013, 15:06
    #38314138
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
МСУ,


Как сериализовать анонимный тип. Это вообще возможно?
Вроде этого:
Код: c#
1.
2.
3.
4.
5.
6.
var newG = new
{
  ID = group.groupID,
  Name = group.name,
  RegionName = group.Region.Name
};
...
Рейтинг: 0 / 0
28.06.2013, 15:11
    #38314150
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
PavluhaМСУ, Как сериализовать анонимный тип. Это вообще возможно?
Буквально вчера Налобуча нахлобучивал примерами по этому поводу... 14492787

http://codearticles.ru/articles/2276
...
Рейтинг: 0 / 0
28.06.2013, 15:38
    #38314188
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
МСУ http://codearticles.ru/articles/2276

Для анонимного класса такого как этот:
Код: c#
1.
2.
3.
4.
5.
6.
var newG = new
{
  ID = group.groupID,
  Name = group.name,
  RegionName = group.Region.Name
};



Валится с ошибкой:
exception: Тип "<>f__AnonymousTypeb`3[System.Int32,System.String,System.String]" не может быть сериализован. Пометьте его с помощью атрибута DataContractAttribute, а также пометьте все его члены, которые необходимо сериализовать, с помощью атрибута DataMemberAttribute. Если этот тип является коллекцией, пометьте его атрибутом CollectionDataContractAttribute. Для получения сведений о других поддерживаемых типах см. документацию к Microsoft .NET Framework.
...
Рейтинг: 0 / 0
28.06.2013, 15:49
    #38314205
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
МСУЯ не собираюсь из-за какой-то там местячковой сериализации ломать свою EF схему и выключать child property. Сейчас эта связь не нужна, завтра понадобится. И что прикажешь делать, танцевать с бубном у костра?

Почему менять child property access неприемлемо
...
Рейтинг: 0 / 0
28.06.2013, 15:51
    #38314208
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
Pavluha

Всё работает.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
var ctx = new AdventureWorks2012Entities();
ctx.Configuration.ProxyCreationEnabled = false;
var item = ctx.CountryRegionCurrencies.Include("Currency").FirstOrDefault();

var obj = new
{
    CountryRegionCode = item.CountryRegionCode,
    CurrencyCode = item.CurrencyCode,
    ModifiedDate = item.ModifiedDate,
    Currency = new
    {
        Name = item.Currency.Name,
    }
};

string xml = SerializeMapper.Serialize(item);
var res = SerializeMapper.Deserialize(xml);
...
Рейтинг: 0 / 0
28.06.2013, 15:52
    #38314209
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
PavluhaПочему менять child property access неприемлемо
Я тебе уже объяснил. Так же я жду ответа на мой вопрос 14497576
...
Рейтинг: 0 / 0
28.06.2013, 15:56
    #38314215
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
МСУТак же я жду ответа на мой вопрос 14497576

А в следующем ответе мне казалось я ответил зачем и что получить. Нет?
...
Рейтинг: 0 / 0
28.06.2013, 16:02
    #38314228
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
PavluhaМСУТак же я жду ответа на мой вопрос 14497576

А в следующем ответе мне казалось я ответил зачем и что получить. Нет?
Я тебя спрашиваю, где ты наводишь этот марафет? Child Property -> Access -> Internal
Что это?
...
Рейтинг: 0 / 0
28.06.2013, 16:12
    #38314245
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Data Class XmlSerializer
МСУ,

Извиняюсь что заговорил про Entity. Бес попутал. Используется DBML модель. :-(
Это у полей таблицы свойство есть и у связей.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Entity Data Class XmlSerializer / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]