回答編集履歴
2
Controllerの例を追記
test
CHANGED
@@ -31,6 +31,20 @@
|
|
31
31
|
public TablesContext (DbContextOptions<TablesContext> options) : base(options) { }
|
32
32
|
}
|
33
33
|
```
|
34
|
+
コントローラの例も書いておきます
|
35
|
+
```cs
|
36
|
+
public class DataScreenController : Controller
|
37
|
+
{
|
38
|
+
private TablesContext _db;
|
39
|
+
public DataScreenController(TablesContext db) => _db = db;
|
40
|
+
[HttpGet]
|
41
|
+
public ActionResult Index()
|
42
|
+
{
|
43
|
+
//必要なデータをViewへ渡す
|
44
|
+
}
|
45
|
+
}
|
46
|
+
```
|
47
|
+
|
34
48
|
##### マイグレーション実施
|
35
49
|
C#のコードを元にしてOracleにテーブルを作ります。
|
36
50
|
VisualStudioならパッケージマネージャーコンソールから以下の2コマンドを実行します
|
1
追記
test
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
ASP.NET Core 8以降+EFcore、Oracleにテーブル無(コードファーストモデル)と仮定します。
|
2
2
|
ASP.NET Coreではなく ASP.NET MVC5であればこれを参考にしないでください。
|
3
3
|
|
4
|
-
DBへの接続
|
4
|
+
DBへの接続例を書きますが、正しくは[MS公式のEFCoreのページ](https://learn.microsoft.com/ja-jp/ef/core/managing-schemas/migrations/)を読んでください。
|
5
|
-
説明
|
5
|
+
説明を短くするためコードを簡略化しています。
|
6
6
|
|
7
7
|
##### 必要なnugetパッケージ
|
8
8
|
|
@@ -11,13 +11,13 @@
|
|
11
11
|
- Microsoft.EntityFrameworkCore.Tools
|
12
12
|
|
13
13
|
##### Program.cs
|
14
|
-
DB接続情報を記載しDIに登録します。接続文字列はtnsnames.oraなどから
|
14
|
+
DB接続情報を記載しDIに登録します。接続文字列connStrはtnsnames.oraなどから自分の環境に合うよう変更してください。
|
15
15
|
```cs:program.cs
|
16
16
|
using Microsoft.EntityFrameworkCore;
|
17
17
|
using TablesContextのnamespace;
|
18
18
|
|
19
19
|
var builder = WebApplication.CreateBuilder(args);
|
20
|
-
//以下2行を追記
|
20
|
+
//以下2行を追記。接続文字列は本来、appsettings.jsonに記述すべき
|
21
21
|
var connStr = @"User Id=system;Password=oracle;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=FREEPDB1)));";
|
22
22
|
builder.Services.AddDbContext<TablesContext>(options => options.UseOracle(connStr));
|
23
23
|
//以降省略
|
@@ -38,11 +38,8 @@
|
|
38
38
|
PM> Add-Migration initCreate
|
39
39
|
PM> Update-Database
|
40
40
|
```
|
41
|
-
成功すればOracleに `Table`テーブルが作成されます。
|
41
|
+
成功すればOracleに接続でき、 `Table`テーブルが作成されます。
|
42
42
|
失敗した場合は接続文字列などが間違っていないか確認します。
|
43
43
|
|
44
|
-
|
44
|
+
View部分は省略します。頑張って直してください。
|
45
45
|
|
46
|
-
View部分は省略します。
|
47
|
-
頑張って直してください。
|
48
|
-
|