这是我的代码:
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#一起使用,因此我使用了下划线。
任何线索如何获取未分配的空间值?
我在某处读到这是一个未解决的问题。是这样,还是有办法解决这个问题?
答案 0 :(得分:0)
您需要使用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; }
};