I have my Table1 that contains the following columns.
My Table2 contains
I am currently getting all the rows from Table1 that are in a date range as follows:
dbRowList = context.Table1.Where(x => x.dateTime > from && x.dateTime < to).ToList();
However, I would like to also get only the rows that, for the same idCycle
in Table2 (=id of Table1), have the 'label' field with certain string content.
How to join it or query it using LINQ?
CodePudding user response:
- Table1 join Table2 on
Table1.id
=Table2.idCycle
. - Filter for the date range for the records in Table1 and Label in Table2.
- Select all columns (or specify the column that is required) from Table1.
var result = (from a in context.Table1
join b in context.Table2 on a.id equals b.idCycle
where (a.dateTime > from && a.dateTime < to)
and b.label = /* Value for Label to filter */
select a
)
.ToList();