質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

意見交換

クローズ

2回答

708閲覧

LINQ の データベースへの適用について

ruruucky

総合スコア18

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2023/02/07 11:23

0

1

テーマ、知りたいこと

LINQはC#内の配列などの集計には便利ですが、データベースへのクエリでSQLが不要になるほど LINQ は効果的なのでしょうか。

背景、状況

C#, SQLは長年使用していますが、LINQはほとんど経験がありません。

LINQは記述がややこしくSQL で書いた方がすっきりかける印象を持っています。特にサブクエリを伴う複雑なクエリでは。

SQLだとC#からはただの文字列なってしまい煩雑になる欠点がありますが、ストアドにすれば変数で厳密に渡せるのと、テーブル構造をカプセル化できる利点もあります。

ストアドの呼び出しが面倒なのが難点ですが。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答2

#1

退会済みユーザー

退会済みユーザー

総合スコア0

投稿2023/02/07 11:39

編集2023/02/07 21:53

C#, SQLは長年使用していますが、LINQはほとんど経験がありません。

では勉強して知識・経験を身に着けることをお勧めします。

何を作っているのか書いてないのでわかりませんが、作っているアプリによっては開発効率と保守性の両方を考えて Entity Framework + Linq 一択です。

たとえば ASP.NET の場合、EF Code First を利用しての DB の生成、既存の DB の場合はリバースエンジニアリングでコンテキストクラスとエンティティクラスの自動生成、スキャフォールディング機能を使って CRUD するための Controller / View のコード一式の自動生成、Microsoft のチュートリアル(一例下記)を始めとするネット・書籍などの情報その他を考えてみれば分かると思います。

パート 4、ASP.NET Core MVC アプリにモデルを追加する
https://docs.microsoft.com/ja-jp/aspnet/core/tutorials/first-mvc-app/adding-model?view=aspnetcore-6.0&tabs=visual-studio

ASP.NET Core MVC と EF Core - チュートリアル シリーズ
https://docs.microsoft.com/ja-jp/aspnet/core/data/ef-mvc/?view=aspnetcore-6.0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

ruruucky

総合スコア18

投稿2023/02/08 12:00

ありがとうございます。
DBとの自動連係機能により、LINQ パワーが有効に使えるのですね。
リンク先を参考に一通り学習してみます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問