![](/img/trans.png)
[英]How do I connect to database in ASP.NET Core Web API without using EF?
[英]How To Create multiple database on web hosting server using Asp.net core EF Core
嗨,我正在嘗試使用C# asp.net core開發我的桌面應用程序的 Web 版本,但不確定如何處理數據庫,這是我想要實現的,我的桌面應用程序是使用VB開發的銷售點系統從而應用程序用戶能夠管理多個商店並且每個商店都有自己的數據庫,在創建商店時執行數據庫腳本,現在為新商店創建數據庫。 下面是我創建數據庫的示例代碼。
'Get DB NAme
Dim DbNumber As Integer
ConnectTools()
cmd.CommandText = "select MAX(StoreCount) as cntt from tblStores"
rd = cmd.ExecuteReader
rd.Read()
If IsDBNull(rd.Item("cntt")) Then
DbNumber = "1"
Else
DbNumber = rd.Item("cntt") + 1
End If
rd.Close()
DatabaseName = "AutemStore" & DbNumber
cmd.Connection = conn
'conn.Open()
conn.ChangeDatabase("Master")
If conn.State = ConnectionState.Open Then conn.Close()
conn.Open()
cmd.CommandText = "Create Database " & DatabaseName
cmd.ExecuteNonQuery()
'Save DB Name
My.Settings.DatabaseName = DatabaseName
My.Settings.Save()
'Run DB Script
conn.ChangeDatabase(My.Settings.DatabaseName)
cmd.CommandText = ReadFile(Application.StartupPath & "\dstore.sql")
cmd.CommandType = CommandType.Text
cmd.ExecuteNonQuery()
我相信有一種方法可以使用Asp.net core來完成我剛剛解釋的這項任務,但我還不知道如何完成它,請問有沒有關於如何做到這一點或替代方法的建議它完成了。 提前致謝。
由於您正在嘗試使用 EF(或者可能是 EFCore),我假設您已經設置了數據模型並將DbContext
作為_context
注入。 (如果你還沒有,你可以按照官方文檔開始)。
之后,您可以像這樣使用 EFCore 重寫 VB.NET + ADO.NET 代碼:
select MAX(StoreCount) as cntt from tblStores的第一個查詢可以通過
var cntt = _context.Stores.Max(t => t.StoreCound);
創建數據庫的第二個命令可以改寫為:
var sql= "Create Database @dbname"; var dbname = new SqlParameter("@dbname", "The_DB_Name"); _context.Database.ExecuteSqlCommand(sql, dbname);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.