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

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

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

Entity Frameworkは、.NET Framework 3.5より追加されたデータアクセス技術。正式名称は「ADO.NET Entity Framework」です。データベースエンジンに依存しておらず、データプロバイダの変更のみで様々なデータベースに対応できます。

.NET

.NETとは、主に.NET Frameworkと呼ばれるアプリケーションまたは開発環境を指します。CLR(共通言語ランタイム)を搭載し、入力された言語をCIL(共通中間言語)に変換・実行することが可能です。そのため、C#やPythonなど複数の言語を用いることができます。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

ASP.NET Web API

ASP.NET Web APIはブラウザやモバイル機器のようなクライアント向けのHTTPサービスを構築するフレームワークです。Microsoft .NET Frameworkがベースになっており、RESTfulサービスを構築するには理想的です。

Q&A

解決済

1回答

3752閲覧

.net5.0でEntityFrameworkCore.SqlServer を使う方法(macbook,Vscode)

kez_yuyuyu

総合スコア9

Entity Framework

Entity Frameworkは、.NET Framework 3.5より追加されたデータアクセス技術。正式名称は「ADO.NET Entity Framework」です。データベースエンジンに依存しておらず、データプロバイダの変更のみで様々なデータベースに対応できます。

.NET

.NETとは、主に.NET Frameworkと呼ばれるアプリケーションまたは開発環境を指します。CLR(共通言語ランタイム)を搭載し、入力された言語をCIL(共通中間言語)に変換・実行することが可能です。そのため、C#やPythonなど複数の言語を用いることができます。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

ASP.NET Web API

ASP.NET Web APIはブラウザやモバイル機器のようなクライアント向けのHTTPサービスを構築するフレームワークです。Microsoft .NET Frameworkがベースになっており、RESTfulサービスを構築するには理想的です。

0グッド

1クリップ

投稿2021/11/21 08:04

編集2021/11/21 08:33

背景

  • 現在M1mac(version Monterey)を用いて.netを用いたAPI設計を行なっています。
  • 一応他の方と共同で開発しているためversionは.netのバージョンは5.0で統一することになりました。
  • 今回使うDBはSQL serverであるためSQLserverと提携するためのentitiFrameworkをインストールしようとしています。

問題

  • インストールするコマンドを打ち込んだところバージョンの違いによりうまく作動しませんでした。原因は主にentitiFrameworkの最新版が.netのversion5.0に対応していなからということでした。
  • 今回.netのバージョンを固定していることからentitiFrameworkで提携できるバージョンに下げようと考えております。しかし低いバージョンのインストール方法、提携しているバージョンをインストールする方法を調べましたがいまいちわかりませんでした。そこでどうすれば.net5.0と対応しているentitiframeworkをインストールできるでしょうか?教えていただけると幸いです。

ターミナル上のコマンド

dotnet add package Microsoft.EntityFrameworkCore.SqlServer >>>error: NU1202: パッケージ Microsoft.EntityFrameworkCore.SqlServer 6.0.0 は net5.0 (.NETCoreApp,Version=v5.0) と互換性がありません。 パッケージ Microsoft.EntityFrameworkCore.SqlServer 6.0.0 がサポートするもの: net6.0 (.NETCoreApp,Version=v6.0) error: パッケージ 'Microsoft.EntityFrameworkCore.SqlServer' はプロジェクト '/Users/user/Documents/GitHub/プロジェクト名/プロジェクト名' の 'all' フレームワークとの互換性がありません。

また'all' フレームワークとの互換性がありません。という記載の意味も調べたのですがわかりませんでした。(この分の質問は別のところに投稿しようと思います。)

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

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

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

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

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

gentaro

2021/11/21 08:24

> 共同で開発 が本当なら、そのぐらい共同開発者に質問すりゃいいじゃん。 自分ができる調査をやらずにここで丸投げしてるようにしか見えない。
kez_yuyuyu

2021/11/21 08:29

返信ありがとうございます。僕たち自身学生でプログラミングに関する勉強を独学で行なっているため、どうしての知識や問題解決力に難があるなと感じております。そのため実務を経験しているプロフェッショナルの方のご意見をお聞かせ願いたいなということで投稿させていただきました。先輩エンジニアの方のお気持ちを害したのであればお詫び申し上げます、ですが僕たちも試行錯誤しながら行なっており決して丸投げしているわけではないということはご理解いただきたいです。
退会済みユーザー

退会済みユーザー

2021/11/21 08:29

Mac だということをタイトルにも書いておいてください。Mac に興味が無い人は本文を読まなくて済みますので。
kez_yuyuyu

2021/11/21 08:31

返信ありがとうございます。その通りだと思います、質問を読む方の時間をとらせてしまうことを考えると最初のタイトルで概要を把握できなくては行けないなと感じました。申し訳ございません
退会済みユーザー

退会済みユーザー

2021/11/21 08:36

> 僕たち自身学生でプログラミングに関する勉強を独学で行なっているため、 それなら何故、前のスレッドでアドバイスしたように、自分に投資する意味で Windows OS の PC を買って、Windows 用の Visual Studio Community 2020 を使わないのですか? それなら何も問題なく環境が作れるのに、わざわざ Mac という茨の道を歩んで、貴重な時間と労力を無駄にするのはホントにばかげていると思うのですが。
退会済みユーザー

退会済みユーザー

2021/11/21 08:41

オマケに VS Code ですって? それは基本エディタです。初心者マークが付いている人が Mac + VS Code では 100% 無理とまではいいませんが、それに近い無理筋な話と思います。他の方と相談して考え直すことをお勧めします。
kez_yuyuyu

2021/11/21 08:42

返信ありがとうございます。もう一人の友達がWindowsを使っていること、プログラミングの勉強に時間を使っているためバイトを削っているため、学費を自分で払っているためにあまりお金をかけることができないことなどが理由としてあります。また大学入学時からmacを使っていること、来年から研究をmacで行うことなどからwindowsを買うまでの考えに至りませんでした。
kez_yuyuyu

2021/11/21 08:45

C#での開発はVisualstudioを用いることがベターであることは弁えておりますが、macでのvisualstudioとwidowsでのvisualsutdioでは勝手が違うということ、microsoftのチュートリアルにvscodeでのものが載っていることから、使い慣れているVscodeでいいのではという結論に至ったので今回はそちらを使っております。
退会済みユーザー

退会済みユーザー

2021/11/21 08:46

> プログラミングの勉強に時間を使っているためバイトを削っているため Mac + VS Code という選択でさらに時間が削られると思います。ここに至るまで何時間費やしたか知りませんが、この先も同じ問題で時間を費やすことは間違いないので、その分バイトできれば PC を買うぐらいできそうに思うのですけどね。時間も大事ですけど、トラブルによるストレスもそれ以上に問題かも。
kez_yuyuyu

2021/11/21 08:57

返信ありがとうございます。プロの方からの意見とても感謝しております。不快な思いをさせたのであればお詫びの申し上げます。最近、親から買い与えてもらった大事なパソコンであるためmacに執着している自分がいたのも事実でした、稚拙な自分の意見を恥じております。SurferOnWwwさんも私のために厳しくの正確なアドバイスをいただきありがとうございました。学生としてまだまだ未熟ではありますがまたの機会がありましたらもう少し優しくご指導くださると幸いです。
gentaro

2021/11/21 09:15

経済事情もわからん赤の他人の、しかも学生相手にWindows機買え、とか言うは正直無茶苦茶だと思うわ。それなら金出してやれよと思う。 まぁせめてVisual Studio for Mac使った方が良いとは思うけど。
gentaro

2021/11/21 09:19

一応.NETはちゃんと公式にクロスプラットフォーム対応を謳ってるし、カンファレンス等でも積極的にアピールしてるんで、Macで開発すること自体を悪びれる必要はないと思う。 ただ周囲に頼れる人が居ないなら、こういうところで単発の質問するよりDiscord等の.NET系のコミュニティに参加するなどした方が、多少拙い質問内容でも相手してもらえる可能性が高いと思うよ。
退会済みユーザー

退会済みユーザー

2021/11/21 09:47

> それなら金出してやれよと思う。 金は出せないけど、Windows OS + Visual Studio 2020 なら掲示板でのサポートぐらいはできるよ。そういう因縁をつけてるならあなたが質問に答えてやったらどうなの?
gentaro

2021/11/21 10:04

回答もうあるじゃん。何言ってんの。
gentaro

2021/11/21 10:07

そもそもMac使ってるのに因縁つけてるのあなたでしょ。
退会済みユーザー

退会済みユーザー

2021/11/21 10:12 編集

あなたが回答したのなら「何言ってるの」と言ってもいいけど、違うよね。それこそ何言ってるのなんだけど。 あなたのレスは、 >> 共同で開発 > が本当なら、そのぐらい共同開発者に質問すりゃいいじゃん。 > 自分ができる調査をやらずにここで丸投げしてるようにしか見えない。 だけど、何言ってるの?
gentaro

2021/11/21 10:54

同じ回答複数しても意味ねーだろ頭大丈夫か? あんた誰彼構わずイチャモンつけるのやめた方が良いぞ。何回それで叩かれてんだ。
退会済みユーザー

退会済みユーザー

2021/11/21 11:01

切れてレスしたらあかんよ、恥ずかしいし・・・
gentaro

2021/11/21 11:45

それでマウントとったつもりなら相当恥ずかしいぞ。 反論されたのが悔しかったんなら ・赤の他人が公式にサポートされているMacを使っていることにイチャモンをつけた事の正当性 ・既に回答がある質問について、その内容に疑義を示さずに「お前が回答をしろ」と迫る事の論理的正当性 ・最初の私のコメントはここで質問をするに足りる内容なのか、という疑問であり、ここで質問をする事は正当な使い方だが、その返答を確認するまでの間に別の回答がついていたので回答を控えていることに対して「何言ってんの」という知恵の足りないオウム返しの意味 について説明してみ? まぁできないだろうけど。 意味不明なイチャモンつけたいならあんたのご自慢のブログでやれ。
cx20

2021/11/21 11:50

ケンカ腰になっても良いことはありませんので、もう少し冷静にいきましょう。。
cx20

2021/11/21 11:52

自分も macOS + .NET + SQL Server の開発には興味があります。 ただ、初心者がやるには情報が少なくハードルが高いと感じます。 どうしても SQL Server を使った開発がしたい、ということであれば、やはり Windows PC を調達するのが無難かとは思います。
gentaro

2021/11/21 11:55

あぁ読んで気分を害されたのならすみません。 害悪ユーザーに真摯に対応している質問者が可哀想だったんで言うべきことは言っておこうかと思ったんですが、ある程度伝わったと思うので相手するはこれまでにしときます。
退会済みユーザー

退会済みユーザー

2021/11/21 12:08 編集

回答ではないですが、要件としてEntityFrameworkは必須なのでしょうか? DBデータを取得・更新するだけなら、Microsoft.Data.SqlClientを直接使えば良いと思いますが。
退会済みユーザー

退会済みユーザー

2021/11/21 12:09

マウント取るとか取らないとか、何を言ってるの? 反論が悔しいって? いちゃもん・因縁が悔しいなんて思うわけないよ。あなたの相手するのが恥ずかしいのは確かにその通りだけどね。
退会済みユーザー

退会済みユーザー

2021/11/21 12:27

> ある程度伝わったと思うので相手するはこれまでにしときます。 捨て台詞を残して去ったと思って良いのかな? 自分は切れたあなたの相手をするのは恥ずかしいと思いながらもここまでお付き合いしてきたのですけど。
退会済みユーザー

退会済みユーザー

2021/11/21 21:51 編集

> DBデータを取得・更新するだけなら、Microsoft.Data.SqlClientを直接使えば良いと思いますが。 ASP.NET Web Forms ならともかく、ASP.NET MVC とか Web API では Entity Framework を使うのはほぼ必須と言っても良いと思います。 旧来の ADO.NET + SqlClient でもできないことはないとは思いますが、デザイナが対応してないし、そもそも SqlClient をインストールできるのか、できても使えるようになるのか、茨の道です。
guest

回答1

0

ベストアンサー

Entity Framework Core を使ったことが無いので誤っていたらすみません。

パッケージのインストール時にバージョンの指定が行えるようです。
以下は NuGet と dotnet コマンドの例です。

■ NuGet Gallery | Microsoft.EntityFrameworkCore.SqlServer 5.0.12.
https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.SqlServer/5.0.12

PM> Install-Package Microsoft.EntityFrameworkCore -Version 5.0.12

■ Entity Framework Core
https://github.com/dotnet/efcore

dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 5.0.12

投稿2021/11/21 08:40

cx20

総合スコア4648

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

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

cx20

2021/11/21 11:16

回答しておいてなんですが、M1 Mac で .NET 5 での開発は厳しいかもしれません。 M1 Mac に対応しているのは「.NET 6」からとなっている為です。 ■ Microsoft、「.NET 6」をリリース ~Apple M1にも対応、史上最速の「.NET」 https://forest.watch.impress.co.jp/docs/news/1364721.html また、Mac に SQL Server は入れられない為、DB 接続を伴う開発も困難ではないかと考えます。 Docker を使えば SQL Server on Linux のコンテナが使える可能性はありそうですが、情報が少なくハマる可能性が高いと思います。 気を悪くされたら申し訳ないですが、 無難なのは ・MySQL 等の Windows / Mac の両方をサポートした DB を用いる ・開発環境として Windows PC の実機や仮想環境(Parallels Desktop for Mac等)を用意する と言ったところでしょうか。。 参考情報ですが、PCのスペックにこだわらないのであれば、ヤフオクで5,000~10,000円で中古のWindows PCを見つけることが出来るかと思います。(「バッテリーが消耗している」等の訳アリ品だと、比較的安く売っているようです。)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問