Элемент объекта Silverlight + WCF Ria Service + FK помечен XmlIgnore. Могу ли я предотвратить это добавление в сгенерированный файл? - PullRequest
0 голосов
/ 20 сентября 2011

Использование silverlight 4 с RIA Services Toolkit, май 2010 г.

У меня есть модель данных сущности (.edmx), которая содержит ссылку на FK.

В моем классе службы DomainContext (который ссылается намой .edmx) я изменил свой метод GET для включения Include ("FK_ENTITY_TABLE_NAME"):

public IQueryable<PARENT_ENTITY> GetPARENT_ENTITY()
{
    this.ObjectContext.PARENT_ENTITY.Include("FK_ENTITY_TABLE_NAME");
}

В моем классе метаданных службы DomainContext (.metadata.cs) с именем "внутренний запечатанный класс PARENT_ENTITYMetadata" я добавил [Атрибут include] для свойства, которое ссылается на мою сущность FK:

    [Include]
    public FK_ENTITY_TABLE_NAME { get; set; }

Мой сгенерированный (.g.cs) файл прокси-сервера службы ria содержит следующий DataContract с XmlIgnore :

private EntityRef<FK_ENTITY_TABLE_NAME_PARENT_ENTITY> _fk_entity_table_name;
public sealed partial class PARENT_ENTITY : Entity
{
...
        [Association("FK_ENTITY_TABLE_NAME_PARENT_ENTITY", "entity_id", ",entity_id", IsForeignKey=true)]
        [XmlIgnore()]
        public FK_ENTITY_TABLE_NAME FK_ENTITY_TABLE_NAME
        {
...

Поэтому, когда я использую XmlSerializer / DataContractSerializer и на моем PARENT_ENTITY, он сразу пропускает сериализацию моей сущности "FK_ENTITY_TABLE_NAME:

<PARENT_ENTITY>
(note: no FK_ENTITY_TABLE_NAME serialized here)
</PARENT_ENTITY>

Есть ли что-нибудь, что я могу сделать, чтобы управлять атрибутом XmlIgnore извставляется в эти сгенерированные файлы?

1 Ответ

0 голосов
/ 21 сентября 2011

Я бы посоветовал сначала исправить ваше соглашение об именах.Кроме этого, убедитесь, что вы предоставляете метод get для своего класса DATA_ENTITY, чтобы он компилировался в сгенерированный код.

Кроме того, почему вы включаете FK_ENTITY_TABLE_NAME, но класс сущности использует DATA_ENTITY?Это кажется странным для меня.Есть ли другой соответствующий код, который вы не включили?

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