Linq2DB参数化模式
好的,这绝对是我关于Linq2DB的最后一个问题!也许 我已经完成了一个针对DB2/iSeries数据的项目的Linq2DB学习过程。但一个问题是,虽然我的代码可以很好地针对测试数据库工作,但在生产环境中,它需要针对相同的对象指向不同的模式。例如,一个环境中的特定用户类将具有如下表映射:Linq2DB参数化模式,linq2db,Linq2db,好的,这绝对是我关于Linq2DB的最后一个问题!也许 我已经完成了一个针对DB2/iSeries数据的项目的Linq2DB学习过程。但一个问题是,虽然我的代码可以很好地针对测试数据库工作,但在生产环境中,它需要针对相同的对象指向不同的模式。例如,一个环境中的特定用户类将具有如下表映射: [Table(Schema="ABC", Name="USERS")] 在另一个环境中,它可能看起来像: [Table(Schema="XYZ", Name="USERS")] 我还没有完全弄清楚我将如何在
[Table(Schema="ABC", Name="USERS")]
在另一个环境中,它可能看起来像:
[Table(Schema="XYZ", Name="USERS")]
我还没有完全弄清楚我将如何在生产中实现这一点。以前有人处理过这个问题吗?有没有一种方法可以通过DataContext实现这一点?或者可能通过挖掘映射的内部?任何想法或想法都将受到赞赏 我建议对您的案例使用流畅的映射或配置 对于fluent mapping,将架构名称传递给fluent mapping builder函数:
void ConfigureMappings(MappingSchema ms, string schema)
{
ms.GetFluentMappingBuilder()
.Entity<Users>()
.HasSchemaName(schema)
// configure columns and other entities
}
这种方法(带有配置)也可用于fluent mapper。我建议在您的案例中使用fluent mapping或配置 对于fluent mapping,将架构名称传递给fluent mapping builder函数:
void ConfigureMappings(MappingSchema ms, string schema)
{
ms.GetFluentMappingBuilder()
.Entity<Users>()
.HasSchemaName(schema)
// configure columns and other entities
}
这种方法(配置)也可用于fluent mapper。谢谢!我能够使用fluent映射方法在基本层面上实现这一点。这将使您能够对安装此特定应用程序的任意系统使用我的库。谢谢!我能够使用fluent映射方法在基本层面上实现这一点。这将使您能够对安装了此特定应用程序的任意系统使用我的库。