2017-10-05 4 views
-1

私はASP.netコアでプロジェクトをやっています。ほとんどの開発者がデータベースを扱うためにEntity Frameworkを使用していることがわかりました。私はASP.NETで生のSQLクエリを扱ってきました。 SQL Server 2014を使用しており、データベースを処理するにはRESTfull APIを開発する必要があります。私のデータベースは約50のテーブルで構成されています。エンティティフレームワークまたは単にSQLクエリ

私の質問は、エンティティフレームワークを使用しているか未処理のSQLクエリを使用して、私のタスクに適していますか?私の研究から

は、私は、Entity Frameworkは基本的に2つの方法で、最初のコード最初データベースを持っていることを発見しました。私は両方の方法を調べました。私は、通常のSQLクエリと比較してエンティティフレームワークを使用する賛否両論を知る必要があります。 最後に、エンティティフレームワークを持つ.netコアに影響がありますか?

+0

[コードファーストとモデル/データベースファースト]の可能な複製(https://stackoverflow.com/questions/5446316/code-first-vs-model-database-first) – Igor

+0

実際に私はエンティティについて質問していますフレームワークとSQLの照会@Igor – MLPJ

+1

私はこれをあまりにも広範に、あまりにも批評的に投票するか、それを詐欺師としてマークするかの間で引き裂かれました。あなたはコードファーストとDBファーストについて言及しましたので、私はあなたのオリジナルの質問にはうまく答えられないので、私はデュプと一緒に行きました*そして*デュプリケートはいくつかの良い情報を持っています。 – Igor

答えて

0

大規模なアプリケーションがあるようですが、LINQを持っているため、Entity Frameworkを使用することをお勧めします。 (例:http://www.entityframeworktutorial.net/Querying-with-EDM.aspx)。

LINQを使用すると、文字列ではなくメソッドを使用してクエリを構築できます。 LINQで

:ネイティブSQLで

var L2EQuery = context.Students.where(s => s.StudentName == "Bill"); 

エンティティフレームワークを使用して
var studentName = ctx.Students 
        .SqlQuery("Select studentid, studentname, standardId 
           from Student 
           where studentname='Bill'") 
        .FirstOrDefault<Student>(); 
1

コード最初の移行とし、EFリポジトリパターンアーキテクチャから切り離すだけでなく、SQLクエリを使用してからあなたを制限するものではありません時には必要なときに。

0

あなたの意見はあまりにも意見が集中しているので閉じられます。

はい、個人的には、私はEntity Frameworkの使用を強く推奨します。

EFでの経験がまったくない場合は、学習曲線の対象になります。つまり、コードでSQLクエリを使用する方が簡単になります。それは、あなたが時間をかけてEFの使い方を正しく学ぶなら、おそらく後で役に立つことでしょう。

私はEntity Frameworkと未処理のSQLクエリの両方を経験しています。今はEFに慣れています。

関連する問題