2013-12-03 2 views
0

У меня есть 3 объекта, средний соединяет внешние два. У меня есть значение для RequestType1, мне нужны корректирующие значения для RequestField1 с использованием Linq. Значение RequestType1 равно 2.Linq для сущностей Свойства навигационных свойств

мои классы выглядят как этот

public partial class RequestField 
{ 
    public int RequestID { get; set; } 
    public int RequestField1 { get; set; } 
    public string FieldContents { get; set; } 

    public virtual FieldDefinition FieldDefinition { get; set; } 
    public virtual Request Request { get; set; } 
} 

public partial class FieldDefinition 
{ 
    public FieldDefinition() 
    { 
     this.RequestFields = new HashSet<RequestField>(); 
     this.RequestTypes = new HashSet<RequestType>(); 
    } 

    public int RequestField { get; set; } 
    public string FieldName { get; set; } 
    public string FieldReference { get; set; } 

    public virtual ICollection<RequestField> RequestFields { get; set; } 
    public virtual ICollection<RequestType> RequestTypes { get; set; } 
} 

public partial class RequestType 
{ 
    public RequestType() 
    { 
     this.Requests = new HashSet<Request>(); 
     this.FieldDefinitions = new HashSet<FieldDefinition>(); 
    } 

    public int RequestType1 { get; set; } 
    public string TypeDescription { get; set; } 

    public virtual ICollection<Request> Requests { get; set; } 
    public virtual ICollection<FieldDefinition> FieldDefinitions { get; set; } 
} 

ответ

0

Если я читаю ваш код правильно, что бы что-то вроде этого:

var requestFields = myRequestType.SelectMany(
            rt => rt.FieldDefinitions.SelectMany(
              fd => fd.RequestFields.Select(
               rf => rf.RequestField1))); 
+0

В базе данных у меня есть таблица с двумя первичными ключами, где я создал объект, который стал навигационными свойствами. – Ernie

+0

В какой таблице вы говорите? – IronMan84

+0

У меня есть таблица, содержащая 2 первичных ключа RequestType и RequestField. – Ernie

Смежные вопросы