2013-03-18 3 views
0

следующий запросдинамические объекты от структуры объекта

SELECT 
    t.NAME AS TableName, 
    p.rows AS RowCounts, 
    SUM(a.total_pages) * 8 AS TotalSpaceKB, 
    SUM(a.used_pages) * 8 AS UsedSpaceKB, 
    (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB 
FROM 
    sys.tables t 
INNER JOIN  
    sys.indexes i ON t.OBJECT_ID = i.object_id 
INNER JOIN 
    sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id 
INNER JOIN 
    sys.allocation_units a ON p.partition_id = a.container_id 
WHERE 
    t.NAME NOT LIKE 'dt%' 
    AND t.is_ms_shipped = 0 
    AND i.OBJECT_ID > 255 
GROUP BY 
    t.Name, p.Rows 
ORDER BY 
    t.Name 

возвращает таблицу, в которой я хочу, чтобы отобразить на пользовательском интерфейсе от структуры объекта. Как видите, таблица не может быть создана, потому что она динамическая.

Это можно сделать, используя Entity Framework?

+0

да, этот оператор можно записать в linq с EF –

+0

и вернуть данные как анонимный тип? – user1144596

+0

Создайте представление для этого или выполните с помощью ExecuteSqlQuery. – Pawel

ответ

0

Используйте Context.Database.SqlQuery (yoursql) и используйте общую перегрузку и поставьте настраиваемый тип. EF будет заполнять модель с выбранными значениями столбцов, поэтому дать свойствам модели те же имена, что и столбцы (например, TableName, RowCounts)