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

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

新規登録して質問してみよう
ただいま回答率
85.35%
LINQ to SQL

LINQ to SQLは.NET Framework 3.5のコンポーネントで、リレーショナル データをオブジェクトとして管理するためのランタイム インフラストラクチャを提供します。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

2回答

7892閲覧

Visual Studio 2019「新しい項目の追加」に「LINQ to SQL」が表示されない

nagomisan

総合スコア14

LINQ to SQL

LINQ to SQLは.NET Framework 3.5のコンポーネントで、リレーショナル データをオブジェクトとして管理するためのランタイム インフラストラクチャを提供します。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2020/02/03 01:42

Microsoft Visual Studio Community 2019(Version 16.4.4)を使っています。
インストール時に個別のコンポーネントの選択で「LINQ to SQLツール」にチェックを入れてインストールを完了しました。
C#のコンソール・アプリケーションでLINQ to SQLを試してみるため、新しい項目の追加ダイアログを表示したのですが、「LINQ to SQL」のテンプレートが表示されません。

イメージ説明

以前のバージョン(VS2017)では同様の作業で表示されていたと思うのですが、VS2019では何か変わったのでしょうか。
インターネット上でいろいろと情報を検索しているのですが解決策を見つけることができません。
どなたか情報をご存じの方がいればアドバイスよろしくお願いします。
また、ここに記載している情報で足らないものがあれば申し付けください。

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

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

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

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

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

mima_ita

2020/02/03 11:53

以下の情報を追記していただいた方が、回答があつまるかと思います。 (1)コンソールアプリの.NETFrameworkのバージョン .NET Coreだったり、.NET Framework2.0だと追加できないようです。 (2)Linq to SQLツールがインストールされているかの確認  VisualStudioの「ツール」→「ツールと機能の取得」を実行するとVisualStudioInstallerが起動されます。  そこで、「個別のコンポーネント」タブを開いていただき、「LINQ to SQLツール」にチェックがついているかどうかの確認
nagomisan

2020/02/03 21:00

情報追記のアドバイスの中に回答がありました。解決方法の欄に別途記載しておきます。大変助かりました。ありがとございました。
guest

回答2

0

ベストアンサー

なぜ.NET CoreでLinqToSqlが動作しないという話については以下のような説明になるかと思います。

まず、公式ドキュメントのLINQ to SQL tools in Visual Studioのドキュメント自体に以下のようにあります。

LINQ to SQL was the first object-relational mapping technology released by Microsoft. It works well in basic scenarios and continues to be supported in Visual Studio, but it's no longer under active development. Use LINQ to SQL when maintaining a legacy application that's already using it, or in simple applications that use SQL Server and do not require multi-table mapping. In general, new applications should use the Entity Framework when an object-relational mapper layer is required.

要約すると、既存のアプリケーション用にLinq To SQLは提供はするけど、活発に開発していないので、新しいアプリケーションを作る場合はEntity Frameworkを使用してくださいとあります。
このLinq To SQLが非推奨になったのは2008年ころから始まった路線でした。

そのため、最近(2016年頃)から開発された.NET Coreにおいて非推奨である機能をわざわざサポートをしなかったと推測されます。

投稿2020/02/04 04:49

編集2020/02/04 04:50
mima_ita

総合スコア13

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

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

nagomisan

2020/02/05 07:23

なるほど、納得しました。貴重な情報をありがとうございました。
guest

0

mima_itaさんからのより「質問への追記・修正の依頼」のアドバイスにより解決しました。

結果として、コンソールアプリの対象フレームワークが「.NET Core 3.0」になっていました。最初にコンソールアプリのプロジェクトを作成するダイアログで「.NET Core」と「.NET Framework」のいずれかを選択できるようになっていたのですが、気付かずに「.NET Core」を選んでいたようです。

**「.NET Framework 4.7.2」のコンソールアプリプロジェクトを作り直したら、無事に解決しました。
**
ところで「.NET Coreだったり、.NET Framework2.0だと追加できない」という情報はどこで参照できるでしょうか? ご存じの方がおられたら教えていただけると幸いです。

投稿2020/02/03 21:07

編集2020/02/03 21:11
nagomisan

総合スコア14

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

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

tamoto

2020/02/04 01:33

何故今さら LINQ to SQL を学ぼうとしているのかが疑問です。 LINQ to SQL は何年も前に開発が終了しており、今後は死にゆくだけの存在です。 .NET Core は比較的新しいプラットフォームなので、既に死んだ LINQ to SQL は最初から全くサポートされていません。 覚えたところで、来年以降の .NET 5 では .NET Framework 自体が終了するので、使えるプラットフォームが消滅します。 LINQ to SQL の後継として、Entity Framework Core が現在アクティブなソリューションであるため、そちらを学ぶことをオススメします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問