2017-03-27 28 views
0

ASP.NET MVC Webアプリケーションは、T-SQLストアドプロシージャを使用して既存のデータベースからデータを取得する必要があります。私はコードの最初のアプローチ(基本的にProductという名前のモデル、Entity FrameworkはProduct_UpdateProduct_Deleteのようなストアドプロシージャを生成する)を使ってそれを行う方法に関するチュートリアルを見てきました。ASP.NET MVC&Entity Frameworkストアドプロシージャ

私のケースでは、データベースとストアドプロシージャがすでに存在し、その名前はこの規則に従わないため、コードを最初に使用することはできません。何が行くの?どんな助けもありがとう。前もって感謝します。

  • 私はShyjuとWillHuaとしてまっすぐADO.NETクラスを使用して行く場合は編集した2017年3月28日

を開始しますが、私のモデルデータクラス上のデータ注釈が働くだろう、と述べましたか?そうでない場合、どのように検証などを実施することができますか?

この方法を実行すると、プロジェクトでEntity Frameworkを参照する必要がありますか?

  • エンド編集2017年3月28日
+0

いつもold school ado.net(SqlCommand)を使用できますか? – Shyju

答えて

0

あなたはEntity Frameworkのを使用している場合は、次のような何かができる:

 var startDateParam = new SqlParameter("StartDate", 8) { Value = startDate }; 
     var endDateParam = new SqlParameter("EndDate", 8) { Value = endDate }; 
     var parameters = new[] { startDateParam, endDateParam }; 

     var result= Context.Database.SqlQuery<CampaignReferralReportItem>("CampaignReferralReportItems @StartDate, @EndDate", parameters).ToList<CampaignReferralReportItem>(); 
     return result; 

ですから、ここに持っているものですストアドプロシージャ 'CampaignReferralReportItems'に渡される2つのパラメータの宣言です。クエリが完了すると、結果はできるだけCampaignReferralReportItemクラスにできるだけ近くマッピングされます。

プロパティの順序はクエリの結果と同じである必要があります。そうしないと、マッピングで例外がスローされる可能性があります。

上記のコードに記載されているコンテキストがあなたのDataContextであることには注意してください。

また、この種のコードをどこにでも投げ始める前に、それは私が、私が使用するstratingていた、Dapperを使用して、それのスピードのための愛のいずれかをお勧めしたいRepository pattern

関連する問題