2017-02-01 2 views
1

私は、SQL Serverの次の機能があります:文字列値を返しますEntity FrameworkでSQL Server関数を呼び出して実行する方法は?

getMaxSL(paramter) 

を。

次の方法でこの関数をEntity Frameworkから呼び出して実行しようとしましたが、代わりにSQLクエリ自体を返しています。

var styleCode = (_dbContext as IObjectContextAdapter).ObjectContext.CreateQuery<string>("Select dbo.getMaxSL(500)"); 

var styleCode = _dbContext.Database.SqlQuery<string>("Select dbo.getMaxSL(500)"); 

誰は、Entity FrameworkでSQL Serverの機能を呼び出して実行するための最善の方法は何を私に言うだろう?

答えて

1
予想通り

最後に私自身が解決策を見つけた:

を次のようにコードは次のようになります。

var styleCodeID = (_dbContext as IObjectContextAdapter).ObjectContext.ExecuteStoreQuery<string>("Select dbo.getMaxSL(500)").FirstOrDefault(); 

var styleCode = _dbContext.Database.SqlQuery<string>("Select dbo.getMaxSL(500)").FirstOrDefault(); 
関連する問題