none
EF: как привязать к объекту коллекцию по условию

    Вопрос

  • Кто работает с EF, подскажите возможно ли следующее:

        public class Contract
        {
            [Browsable(false)]
            public Guid Id { get; protected set; }
            public string Name { get; set; }
            public virtual IList<LinkedObject> Rows { get; set; }
        }
    
        public class LinkedObject
        {
            [Browsable(false)]
            public Guid RegId { get; set; }
    
            [Browsable(false)]
            public int RowNumber { get; set; }
    
            [Browsable(false)]
            public Guid? LinkedObjectId { get; set; }
            public string LinkedObjectType { get; set; }
            public string LinkedObjectCode { get; set; }
            public string LinkedObjectNumber { get; set; }
            public DateTime? LinkedObjectDate { get; set; }
            public string Description { get; set; }
        }
    

    Нужно в листе Rows объекта Contract вывести набор из LinkedObject, где LinkedObjectId будет равен Id полю класса Contract. Тип поля LinkedObjectId должен быть именно Guid?.

    11 сентября 2017 г. 16:17

Все ответы

  • Добрый день, Сергей.

    В LinkedObject сделайте свойство ContractId и навигационное свойство Contact. Если у вас ленивая загрузка не выключена, то в Rows будут подтягиваться только связанные объекты. Если выключена, то можно добавить Include для подтягивания связанных данных. Guid не обязательно, первичный (ну и внешний, соответственно) может быть любого типа.

    12 сентября 2017 г. 5:56
    Отвечающий