Home > Net >  LINQ - How to get data from multiple tables
LINQ - How to get data from multiple tables

Time:04-22

I have my Table1 that contains the following columns.

enter image description here

My Table2 contains

enter image description here

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:

  1. Table1 join Table2 on Table1.id = Table2.idCycle.
  2. Filter for the date range for the records in Table1 and Label in Table2.
  3. 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();
  • Related