LINQ是具有列表作为属性的实体

时间:2011-11-09 10:53:42

标签: c# linq

我正在尝试使用linq查询视图,我需要帮助。 该视图返回以下结构:

ID Col1 Col2 Col3

1   A    B    1
1   A    B    2
1   A    B    3
1   A    B    4

等...

我有一个实体,其列表为字段

class MyEntity {
    int _col1;
    string _col2;
    List<int> _col3 = new List<int>();
}

如何填写清单并同时获取所有实体“MyEntity”?

我的尝试并不完全是因为我问:

List<MyEntity> allObjects = (from d in _dc.myView
 where id==1 %% col1==A && cole2==B
select new MyEntity(d.id,d.col1,d.col2)).Distinct().List();

谢谢,

1 个答案:

答案 0 :(得分:0)

我不完全理解这个问题,但看起来你需要一个GROUP BY查询。以下是在LINQ查询语法中执行此操作的方法:

MyEntity entity = from e in objectContext.yourTableName
                  group e by new { e.Col1, e.Col2 } into grp
                  select new MyEntity
                  {
                      _col1 = grp.Key.Col1,
                      _col2 = grp.Key.Col2,
                      _col3 = grp.Select(e => e.Col3).ToList()
                  };