我正在開發我的第一個C#web應用程序,它需要根據需要從多個服務器導入數據。實體框架在多個服務器上執行查詢
我有存儲在一個表(數據服務器)的服務器名稱。所以我需要連接到每個服務器並運行一個查詢,我想將其結果添加到我的數據模型中。
這是我目前在我的倉庫
public void ScanServer(int serverKey)
{
var serverName = FindByKey(serverKey).ServerName;
var sqlQuery = "SELECT name ,description FROM myTbl";
Context.Database.SqlQuery<Names>(sqlQuery);
}
我知道使用上下文是不正確的,我希望能取代在我的數據服務器表內所保持的連接字符串。
結果則需要被添加到我的名字DataModel中。
我在正確的軌道上嗎?
在我看來,你將需要有創建每個服務器的DbContext和連接字符串中傳遞(這應該是相當容易),然後你可以做'Context.Database ...'如果你想要一些並行性,你可以做'sqlQueries.Add(SqlQuery類(SqlQuery類).ToListAsync())'然後做了'Task.WhenAll( sqlQueries)'。 –