繁体   English   中英

如何通过实体框架在C#中使用本机SQL查询

[英]How can I use native sql query in C# by entity framework

我想使用这个查询

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();
      }
    }

您不能直接从Entity Framework执行事务SQL语句。

但是您可以在ObjectContext 执行函数

首先定义一个标量值函数,该函数返回所需的数据,然后将其导入到商店模型中。 您将可以通过ObjectContext.ExecuteFunction方法执行它。


PS。 考虑使用System.Globalization.Calendar对象实现功能,该对象可以根据特定区域性提供有关日期名称的信息。

应该是这样的:

var day_name = context.Database.SqlQuery<string>
     ("select datename (dw,'|| + ReportDate + ||') as NameOfDay").FirstOrDefault<string>();

看到
http://msdn.microsoft.com/zh-cn/library/gg696545%28v=vs.103%29.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM