簡體   English   中英

如何從EF Configuration.cs文件讀取文件內容?

[英]How to read a file content from EF Configuration.cs file?

我正在使用EF 6代碼庫遷移。 我想從Configuration.cs Seed()方法中讀取文件以作為默認數據插入。 我正在使用HostingEnvironment.MapPath()如下:

string _homeContent = System.IO.File.ReadAllText( HostingEnvironment.MapPath(@"~/Data/DefaultContents/Home.html"));

但是,當我從Package-Management Console運行Update-database命令時,HostingEnvironment.MapPath返回null值。

運行種子方法。

System.ArgumentNullException:值不能為null。

參數名稱:System.IO.File.ReadAllText的路徑(字符串路徑)

請告知如何從Configuration.cs Seed()方法讀取物理文件。

我可以自己回答。

由於HttpContext對象尚未准備好,所以Server.MapPath和HostingEnvironment.MapPath暫時不可用。

AppDomain.CurrentDomain.BaseDirectory返回“ .. \\您的項目目錄\\ bin”

例如C:\\ YourSolutionDirectory \\ YourProjectDirectory \\ bin

但是我們需要從“ bin ”文件夾上 ,以便使用Path.Combine()方法並獲取確切的文件路徑。

string homeFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", @"Data\DefaultContents\Home.html");

結果:C:\\ YourSolutionDirectory \\ YourProjectDirectory \\ Data \\ DefaultContents \\ Home.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM