powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Entity Data Class XmlSerializer
21 сообщений из 21, страница 1 из 1
Entity Data Class XmlSerializer
    #38313823
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли как-нибудь сериализовать Data Class из модели EF не создавая класс с атрибутом XmlElement?
...
Рейтинг: 0 / 0
Entity Data Class XmlSerializer
    #38313843
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно. Смотря какой класс сериализуется.
...
Рейтинг: 0 / 0
Entity Data Class XmlSerializer
    #38313872
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но лучше всего отдавать в 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
Entity Data Class XmlSerializer
    #38313955
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,


Мне в базу потом надо загнать данные в 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
Entity Data Class XmlSerializer
    #38313969
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, так у тебя xml, я почему-то заморочился на json. Ну так тогда вообще всё просто.
...
Рейтинг: 0 / 0
Entity Data Class XmlSerializer
    #38314017
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

Вроде сериализатор получил.
Теперь циклическую ссылку не могу победить.
У таблицы есть связь 1 ко многим. Сделал ее в моделе internal, но не помогает
...
Рейтинг: 0 / 0
Entity Data Class XmlSerializer
    #38314043
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Entity Data Class XmlSerializer
    #38314046
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

Можно проще!

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

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

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

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


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

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


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


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

http://codearticles.ru/articles/2276
...
Рейтинг: 0 / 0
Entity Data Class XmlSerializer
    #38314188
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ 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
Entity Data Class XmlSerializer
    #38314205
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУЯ не собираюсь из-за какой-то там местячковой сериализации ломать свою EF схему и выключать child property. Сейчас эта связь не нужна, завтра понадобится. И что прикажешь делать, танцевать с бубном у костра?

Почему менять child property access неприемлемо
...
Рейтинг: 0 / 0
Entity Data Class XmlSerializer
    #38314208
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Entity Data Class XmlSerializer
    #38314209
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaПочему менять child property access неприемлемо
Я тебе уже объяснил. Так же я жду ответа на мой вопрос 14497576
...
Рейтинг: 0 / 0
Entity Data Class XmlSerializer
    #38314215
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУТак же я жду ответа на мой вопрос 14497576

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

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

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


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