Database.SqlQuery将所有返回值转换为字符串

时间:2016-06-14 14:05:49

标签: c# .net entity-framework

我有一个关于使用原始SQL查询从数据库获取数据的问题:

DataContext.Database.SqlQuery<string>(runQuery).FirstOrDefault();

问题是,如何将所有返回的值转换为String,或者如何使用Database.SqlQuery

处理不同的返回数据类型

1 个答案:

答案 0 :(得分:2)

您将需要创建一个类并使用该类中声明的原始数据类型属性映射返回查询的列,例如:

// SQL version of the above LINQ code.
string query = "SELECT EnrollmentDate, COUNT(*) AS StudentCount "
        + "FROM Person "
        + "WHERE Discriminator = 'Student' "
        + "GROUP BY EnrollmentDate";
IEnumerable<EnrollmentDateGroup> data = db.Database.SqlQuery<EnrollmentDateGroup>(query);

你的课将是这样的:

public class EnrollmentDateGroup
{
  public int StudentCount {get;set;}
  public DateTime EnrollmentDate {get;set;}
}

您可以在此link

中找到可用于映射Microsoft SQL Server数据类型的原始数据类型列表