C# “具有不同的自动映射”;“配置”;

C# “具有不同的自动映射”;“配置”;,c#,nhibernate,fluent-nhibernate,fluent-nhibernate-mapping,automapping,C#,Nhibernate,Fluent Nhibernate,Fluent Nhibernate Mapping,Automapping,我想要两种不同的映射配置。我需要以某种方式将参数传递给约定,以便它们可以有不同的行为。除了使用lock和静态字段之外,我还可以怎么做呢?我找到了解决方案:约定。Find允许查找约定实例 var map = AutoMap.AssemblyOf<AutomappingConfiguration>(new AutomappingConfiguration()) .Conventions.AddFromAssemblyOf<AutomappingConfiguration&g

我想要两种不同的映射配置。我需要以某种方式将参数传递给约定,以便它们可以有不同的行为。除了使用
lock
和静态字段之外,我还可以怎么做呢?

我找到了解决方案:
约定。Find
允许查找约定实例

var map = AutoMap.AssemblyOf<AutomappingConfiguration>(new AutomappingConfiguration())
    .Conventions.AddFromAssemblyOf<AutomappingConfiguration>()
    .UseOverridesFromAssemblyOf<AutomappingConfiguration>();

foreach (var c in map.Conventions.Find<TableConvention>())
{
    c.AllWritable = allWritable;
}
var map=AutoMap.AssemblyOf(新的AutomappingConfiguration())
.Conventions.AddFromAssemblyOf()
.UseOverridesFromAssemblyOf();
foreach(map.Conventions.Find()中的var c)
{
c、 AllWritable=AllWritable;
}