C # Entity Framework вызов sp_spaceused - PullRequest
0 голосов
/ 07 ноября 2019

Вот мой код:

public class CSpaceUsed
{
    string database_name { get; set; }
    string database_size { get; set; }
    string unallocated_space { get; set; }
    string reserved { get; set; }
    string data { get; set; }
    string index_size { get; set; }
    string unused { get; set; } 
}

public void  CheckDatabaseSize()
{
  var result = _dbEnergyContext.Database.SqlQuery<CSpaceUsed>("sp_spaceused @oneresultset = {0}", 1).ToList();
}

Я получаю правильный результат для всех полей, кроме unallocated_space , который является нулевым. Я использовал те же имена столбцов из результата SQL-запроса:

EXEC sp_spaceused @oneresultset = 1

, но имя столбца нераспределенное пространство не может использоваться с C #, поэтому я использовал подчеркивание.

Любая подсказка, как получить нераспределенное значение пространства?

Я где-то читал, что это нерешенная проблема. Это правильно, или есть способ преодолеть эту проблему?

1 Ответ

0 голосов
/ 07 ноября 2019

Вам нужно будет пометить свои свойства атрибутом Column, чтобы сообщить EF об отображении имени столбца.

public class CSpaceUsed
{
    string database_name { get; set; }
    string database_size { get; set; }
    [Column("unallocated space")]
    string unallocated_space { get; set; }
    string reserved { get; set; }
    string data { get; set; }
    string index_size { get; set; }
    string unused { get; set; } 
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...