您的意思是要获取 migration.cs 文件中的 appsettings 值吗?
如果这是您的要求,您可以使用ConfigurationBuilder 并设置 appsetting.json 路径来读取它。
更多细节,您可以参考以下代码:
public partial class Modify5 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Msg",
table: "Logs");
migrationBuilder.DropColumn(
name: "Timestamp",
table: "Logs");
migrationBuilder.AddColumn<DateTime>(
name: "CreatedDate",
table: "Logs",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
migrationBuilder.AddColumn<DateTime>(
name: "CreatedDate2",
table: "Logs",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
migrationBuilder.AddColumn<string>(
name: "Message",
table: "Logs",
nullable: true);
string re = GetParameters();
Console.WriteLine("Save");
Console.WriteLine(re);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "CreatedDate",
table: "Logs");
migrationBuilder.DropColumn(
name: "CreatedDate2",
table: "Logs");
migrationBuilder.DropColumn(
name: "Message",
table: "Logs");
migrationBuilder.AddColumn<string>(
name: "Msg",
table: "Logs",
type: "nvarchar(max)",
nullable: true);
migrationBuilder.AddColumn<DateTime>(
name: "Timestamp",
table: "Logs",
type: "datetime2",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
}
private static string GetParameters()
{
var builder = new ConfigurationBuilder()
.SetBasePath(@"the application root path")
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
var val1 = builder.Build().GetSection("AllowedHosts").Value;
return $"The values of parameters are: {val1}";
}
}
结果: