C#实体框架调用sp#u spaceused

C#实体框架调用sp#u spaceused,c#,sql,entity-framework,C#,Sql,Entity Framework,这是我的密码: 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; se

这是我的密码:

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();
}
但是列名未分配空间不能与C#一起使用,所以我使用了下划线

有没有关于如何获取未分配空间值的线索


我在某处读到,这是一个尚未解决的问题。这是对的,还是有办法克服这个问题?

您需要使用
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; } 
};

谢谢,出于某种原因,它对我不起作用。CSpaceUsed类是一个helper类,不是dbEnergyContext的一部分,这可能是原因吗?可能是这样的,注释只适用于作为上下文一部分的实体。
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; } 
};