Как я могу получить List<Type1>
, который включает в себя еще List<Type2>
от другого List<Type3>
?
Вот ситуация:
У меня есть List<DbStruncture>
. Каждая запись включает в себя DatabaseStructure
public partial class DatabaseStructure
{
public string TableSchema { get; set; }
public string TableName { get; set; }
public string ColumnName { get; set; }
public bool? IsPrimaryKey { get; set; }
}
У меня также есть
public class Table
{
public string Name { get; set; }
public string Schema { get; set; }
public List<Column> Columns { get; set; }
}
public class Column
{
public string Name { get; set; }
public bool? IsPrimaryKey { get; set; }
}
Теперь я хочу заполнить Данные из List<DatabaseStructure>
в List<Table>
, который включает List<Column>
со всеми Columns
этого Table
.
Я попробовал это с LINQ, и вот как далеко я получил:
var query =
from t in result
group t.TableName by t.TableName
into tn
select new
{
Table = tn.Key,
Schema = from s in result where s.TableName == tn.Key select s.TableSchema.First(),
Columns = from c in result where c.TableName == tn.Key select new Column
{
Name = c.ColumnName,
IsPrimaryKey = c.IsPrimaryKey
}
};
Проблема с моим решением заключается в том, что мой запрос не является универсальным списком ...
Кто-нибудь может указать мне правильное направление? LINW правильный путь здесь? Если да, как я могу получить желаемый результат?
Заранее спасибо