【发布时间】:2016-08-11 01:31:38
【问题描述】:
我在我的项目中使用实体框架代码首次迁移。其中一个迁移通过从位于项目目录中的csv 文件中读取数据来填充数据库表。项目结构如下:
- Soulution
- Project
- Migrations
- CSVFolder
- file1.csv
- file2.csv
- Migration1.cs
- Migration2.cs
在我的 Up() 方法中,我得到这些文件是这样的:
public override void Up()
{
var migrationsDir = AppDomain.CurrentDomain.BaseDirectory + "/Migrations/CSVFolder/"; // For some reason, Path.Combine() doesn't work for me here so I manually concatenate the strings.
var templateFiles = Directory.GetFiles(migrationsDir, "*.csv");
foreach (var filename in templateFiles)
{
Sql(); // SQL Insert statement here.
}
}
这在我的开发机器上运行良好,但是当我使用 Octopus 将它部署到测试服务器时,我得到一个找不到路径的异常
找不到路径的一部分 'C:\Octopus\Applications\Test\Solution\1.1-alpha21\Migrations\CSVFolder'。
我检查了“drop”文件夹,那里的输出包括Migrations > CSVFolder。
我尝试了几种不同的方法来获取文件夹的路径,但它们可以在本地或服务器上工作。获取在本地和服务器上都可以使用的路径的最佳方法是什么?
【问题讨论】:
标签: c# .net entity-framework entity-framework-migrations