簡體   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