2017-04-27 12 views
0

私はEntity Frameworkをコードファーストアプローチで使用しています。私のコードからストアドプロシージャを呼び出す方法に関するいくつかの提案を提供できますか?EFコードファーストアプローチでストアドプロシージャを呼び出す方法は?

ストアドプロシージャ:

create procedure sp_GetCountry 
As 
Begin 
    select * 
    from Country 
End 

Homectrol.cs

JanContext db = new JanContext() 

public JsonResult GetCountry_sp() 
{ 
    string storedprocedure = "sp_GetCountry"; 
} 
+0

サイドノートを呼び出します。この関数を呼び出す必要があるのStoredProcedureの名前でDbContextで関数を作成します。あなたがすべき**ません* *ストアドプロシージャの 'sp_'接頭辞を使用してください。マイクロソフトは、[*ストアドプロシージャの名前付け*を参照してください](http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx)、およびあなたはいつか名前衝突のリスクを将来実行します。 [ストアドプロシージャのパフォーマンスにも悪い](http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix)単に 'sp_'を避け、他の何かを接頭辞として使うのが最善です。 –

答えて

1
public JsonResult GetCountry_sp() 
{ 
    // string storedProcedure = "sp_GetCountry"; 
    var Country = db.Countries.SqlQuery("sp_GetCountry").ToList(); 
    return new JsonResult { Data = Country, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
} 
1

次のようにEntityFrameworkリバースPOCOジェネレータの enter image description here

編集.ttファイルを使用してみてください

IncludeStoredProcedures = false; 

IncludeStoredProcedures = true; 

にこれは、uは、これはのStoredProcedure

関連する問題