C# 如何在c语言中有条件地执行Fluent Migrator脚本#
我的应用程序使用c#编写的桌面应用程序和窗口服务代码。 业务逻辑和数据库层都相同。我正在使用Fluent Migrator在数据库中执行CRUD操作。 我想从桌面应用程序和窗口服务添加一些表。 有谁知道我是如何从同一个文件中分出来的。i、 e迁移文件名 “M01\u Createtble\u表1”代码如下:C# 如何在c语言中有条件地执行Fluent Migrator脚本#,c#,fluent-migrator,C#,Fluent Migrator,我的应用程序使用c#编写的桌面应用程序和窗口服务代码。 业务逻辑和数据库层都相同。我正在使用Fluent Migrator在数据库中执行CRUD操作。 我想从桌面应用程序和窗口服务添加一些表。 有谁知道我是如何从同一个文件中分出来的。i、 e迁移文件名 “M01\u Createtble\u表1”代码如下: [Tags("service")] [Tags("config")] [SchemaMigration("1.1.12")] public class M01_Cre
[Tags("service")]
[Tags("config")]
[SchemaMigration("1.1.12")]
public class M01_Createtble_table1: ForwardOnlyMigration
{
public override void Up()
{
string schemaName = "abc";
string tableName = "table1";
if (!Schema.Schema(schemaName).Table(tableName).Exists())
{
Create.Table(tableName).InSchema(schemaName)
.WithColumn("_id").AsInt32().NotNullable()
.WithColumn("clo1").AsString(255).NotNullable().NotNullable();
Create.PrimaryKey("pk_" + tableName + "_id").OnTable(tableName).WithSchema(schemaName).Column("id");
}
}
}
在这里,哪个类包括[Tags(“service”)]从窗口服务运行的标记,而不是从桌面应用程序运行的标记
请给我解决方案,如果有的话 看起来您可以通过以下方式完成:
- 实现您自己的服务,将当前应用程序的类型参数(“服务”或“桌面”)注入其中
- 然后在这个服务中实现一个方法,该方法将获取类型的标记属性值列表作为参数,并检查它是否包含相应的标记(“服务”/“桌面”)
- 然后将此服务注入到迁移()中,并调用在上一步中实现的方法来检查是否应该执行迁移