我想使用此查询
select datename (dw, CURRENT_TIMESTAMP)AS DAY ;
获取工作日名称并使用它将记录插入表格。
如何通过实体框架
使用此查询我使用这种方法,但它不起作用:
private void GetDayName(DateTime ReportDate,out string DayName)
{
using (var context = new Daily_ReportEntities3())
{
var day_name= context.ExecuteStoreQuery ("select datename (dw,'|| + ReportDate + ||') as NameOfDay", null).ToList();
DayName = day_name=.ToString();
}
}
答案 0 :(得分:0)
您无法直接从Entity Framework执行transact SQL语句。
但你可以ObjectContext
内的Execute Functions。
首先定义一个标量值函数,返回您需要的数据,然后将其导入Store模型。您可以通过ObjectContext.ExecuteFunction方法执行此操作。
PS。考虑使用System.Globalization.Calendar对象实现您的功能,该对象可以根据特定文化提供有关日期名称的信息。
答案 1 :(得分:0)
应该是这样的:
var day_name = context.Database.SqlQuery<string>
("select datename (dw,'|| + ReportDate + ||') as NameOfDay").FirstOrDefault<string>();
见
http://msdn.microsoft.com/en-us/library/gg696545%28v=vs.103%29.aspx