Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq2DB参数化模式_Linq2db - Fatal编程技术网

Linq2DB参数化模式

Linq2DB参数化模式,linq2db,Linq2db,好的,这绝对是我关于Linq2DB的最后一个问题!也许 我已经完成了一个针对DB2/iSeries数据的项目的Linq2DB学习过程。但一个问题是,虽然我的代码可以很好地针对测试数据库工作,但在生产环境中,它需要针对相同的对象指向不同的模式。例如,一个环境中的特定用户类将具有如下表映射: [Table(Schema="ABC", Name="USERS")] 在另一个环境中,它可能看起来像: [Table(Schema="XYZ", Name="USERS")] 我还没有完全弄清楚我将如何在

好的,这绝对是我关于Linq2DB的最后一个问题!也许

我已经完成了一个针对DB2/iSeries数据的项目的Linq2DB学习过程。但一个问题是,虽然我的代码可以很好地针对测试数据库工作,但在生产环境中,它需要针对相同的对象指向不同的模式。例如,一个环境中的特定用户类将具有如下表映射:

[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映射方法在基本层面上实现这一点。这将使您能够对安装了此特定应用程序的任意系统使用我的库。