...

Как узнать какое поле является наименованием объекта?

Тема в разделе "Разработчикам", создана пользователем ElmaMyHell, 5 июн 2020.

  1. ElmaMyHell

    ElmaMyHell New Member

    Ну собственно говоря вопрос простейший. как имея на руках тип объекта узнать какое из его свойств является наименованием. Из того что я успел обнаружить у меня кроется подозрение что на стадии компиляции объекта переписывают метод ToString что бы он возвращал наименование. А я пытаюсь ручками к базе запросы писать и мне нужно точно знать название свойства.
     
  2. pushkarev

    pushkarev Active Member

    А вы не можете посмотреть в дизайнере какое поле используется для наименования объекта и в sql напрямую к нему обращаться? Просто интересно зачем так сложно, какая у вас задача стоит?
    Скорее всего про метод ToString вы правы, но замечу что у свойств объектов есть еще метаданные, они хранятся в отдельных таблицах (возможно в сериализованном виде), там у свойства являющегося наименованием должна быть об этом отметка.
     
  3. ElmaMyHell

    ElmaMyHell New Member

    Смотрел и PropertyMetadata и ClassMetadata и еще много какой даты. А Суть что динамическую таблицу строю. То есть я заранее не знаю по какому объекту будет таблица. Надеялся может хэлпер какой есть о котором я не в курсе
     
  4. pushkarev

    pushkarev Active Member

    К сожалению, готового ответа не знаю, нужно копать и разбираться. Если есть поддержка можете там вопрос задать, может быть подскажут.
     
  5. mrmaxonline

    mrmaxonline New Member

    var metadata = (EntityMetadata)MetadataLoader.LoadMetadata(InterfaceActivator.UID<YouEntity>());
    var titleProperty = metadata.Properties.FirstOrDefault(p => p.Uid == metadata.TitlePropertyUid);
     

Поделиться: