
前提
ASP.NETを勉強しています。
早速アプリを作ろうと、考えTodoのアプリ作成予定です。
ASP.NET MVCにて、Entity Frameworkを利用してSQL Serverへのアクセスを試みているところでエラーが発生して、困っています。
よろしくお願いいたします。
実現したいこと
・SQL Serverへアクセス出来るようになること
発生している問題・エラーメッセージ
An unhandled exception occurred while processing the request. SqlException: Cannot open database "ToDoApp1.Data" requested by the login. The login failed. Login failed for user 'DESKTOP\TESTUSER'. Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, bool callerHasConnectionLock, bool asyncClose) InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure' to the 'UseSqlServer' call.
該当のソースコード
1)新しいプロジェクトの作成 → ASP.NET Core Web アプリ(Model-View-COntroller)を選択して、.NET6.0 / 認証の種類「なし」を選択、HTTPS用の構成にチェック
2)Model作成
Modelsにクラスを追加
Todo.cs
C#
1 public class Todo 2 { 3 public int Id { get; set; } 4 5 public string Summary { get; set; } 6 7 public string Detail { get; set; } 8 9 public DateTime Limit { get; set; } 10 11 public bool Done { get; set; } 12 13 }
3)ViewにRazorコンポーネント作成
Viewフォルダを右クリックして「Razorコンポーネント」
Razorレイアウトを選択して、名前はデフォルトで作成
4)Controllerに、TOdoesControllerを作成
Controllerフォルダを右クリックして追加→「コントローラー」
「Entity Frameworkを使用したビューがあるMVCコントローラーを選択して、モデルクラスに上記で作成したModelsを、データコンテキストクラスは、「+」マークで新しいデータコンテキストの型を指定(名前は入力されているまま利用)、レイアウトページは、3で作成したcshtmlファイルを選択(ここでは、_Layout.cshtml)
5)Program.csの下記のコードを「Home」→「Todoes」に書き換え、ビルド実行
→ エラー発生
C#
1app.MapControllerRoute( 2 name: "default", 3 //pattern: "{controller=Home}/{action=Index}/{id?}"); 4 pattern: "{controller=Todoes}/{action=Index}/{id?}");
試したこと
下記の情報から、どうやらTLSがエラーの原因ではないかということで、TLSを無効にするためにコード変更したが改善せず
https://qiita.com/karuakun/items/ac6cfd5e0bc52ce5bea6
変更
C#
1app.MapControllerRoute( 2 name: "default", 3 //pattern: "{controller=Home}/{action=Index}/{id?}"); 4 pattern: "{controller=Todoes}/{action=Index}/{id?}/{port=3306}/{sslmode=none}");
変更はこちらのコードを参考にしました。
補足情報(FW/ツールのバージョンなど)
開発環境:Visual Studio2022
フレームワーク:.NET6
OS:Windows11 Home







回答1件
あなたの回答
tips
プレビュー