Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problem with my inner join

Tags:

c#

.net

list

linq

I have the below LINQ query. FactColumns is a list of FactColumn objects and SelectedColumns is a list of strings. I want to get a list of FactColumn objects using an inner join on SelectedColumns. However, I am getting null for below query.

var lst = from fc in this.DataSetFact.FactColumns
          join column in m_TableDataDict[tableGuid].SelectedColumns
              on fc.Name equals column
          select new
          {
              fc.ColumnType,
              fc.DataType,
              fc.FriendlyName,
              fc.Name,
              fc.ParentFactName,
              fc.Size,
              fc.State
          };

Why am I getting null?

like image 978
Omkar Avatar asked Feb 04 '26 02:02

Omkar


1 Answers

I can see above code running fine. Check if data is loaded properly.

Sample

    List<FactColumn> FactColumns = new List<FactColumn>();
    List<string> SelectedColumns = new List<string>();
    private void Form2_Load(object sender, EventArgs e)
    {
        FactColumns.Add(new FactColumn() { DataType = "int", Name = "int" });
        FactColumns.Add(new FactColumn() { DataType = "string", Name = "string" });
        SelectedColumns.Add("string");
        var lst = from fc in this.FactColumns join column in SelectedColumns on fc.Name equals column select new { fc.DataType,  fc.Name};
        foreach (var column in lst)
        {
            MessageBox.Show(column.Name);
        }
    }

    public class FactColumn
    {
        public string DataType { get; set; }
        public string Name { get; set; }
    }

What about this using lambda:

var lst = this.DataSetFact.FactColumns.Where(hm=>hm_TableDataDict[tableGuid].SelectedColumns.Contains(hm.Name)
like image 192
hungryMind Avatar answered Feb 06 '26 14:02

hungryMind



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!