LINQ: Fill objects from left join

前端 未结 4 1055
無奈伤痛
無奈伤痛 2020-12-12 00:40

I\'m new to linq. How do I load my objects using LINQ from a left join database query (PostGIS).

This is my database query:



        
4条回答
  •  孤街浪徒
    2020-12-12 00:46

     var q = (from dt in public."dataTypes"
             // Join the second table to the first, using the IDs of the two tables <-- You may join on different columns from the two tables
             join dta in public."dataTypeAttributes" on
             new { ID = dt.id } equals
             new { ID = dta.id }
             // Join the third table to the first, using the IDs of the two tables
             join dtav in public."dataTypeAttributeId" on
             new { ID = dt.id } equals
             new { ID = dtav.id }
             // Conditional statement
             where dt.id == dta."dataTypeId"
             // Order the results
             orderby dt.type, dta.label, dtav.value
             // Select the values into a new object (datObj is a created class with the below variables)
             select new datObj() {
                ID = dt.id,
                Type = dt.type,
                AttID = dta.id,
                Label = dta.label,
                AttValueID = dtav.id,
                AttValue = dtav.value
             }).ToList()
    

    This will return a List that match your where statement, in the order specified by the orderby statement.

    Not exactly what you need, but should give you an example of what you should be doing.

提交回复
热议问题