我的Web应用程序位于带有mysql数据库的asp.net MVC中。
这是hangfire配置:
public void ConfigureServices(IServiceCollection services)
{
services.AddHangfire(configuration => {
configuration.UseStorage(
new MySqlStorage(
"server=127.0.0.1;uid=root;pwd=root;database={0};Allow User Variables=True",
new MySqlStorageOptions
{
TablesPrefix = "Hangfire"
}
)
);
};
}
我在表hangfireSet
之外没有找到。在数据库表中创建为hangfireset
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<TableName>().ToTable("tablename");
}
如何在OnModelCreating中访问hangfire模型类,以便可以将表名更改为小写。
答案 0 :(得分:1)
由于Hangfire
不是ContextDb的一部分,因此您不能以这种方式更改其表名。相反,您可以通过Hangfire
配置来实现。
services.AddHangfire(cfg => cfg
.SetDataCompatibilityLevel(CompatibilityLevel.Version_170)
.UseSimpleAssemblyNameTypeSerializer()
.UseRecommendedSerializerSettings()
.UseSqlServerStorage("YOURCONNECTIONSTRING",
new Hangfire.SqlServer.SqlServerStorageOptions
{
/* other configs */
SchemaName = "Your own scheme"
}));