有没有一种简单的方法为所有生成的表名加上字符串前缀?
惯例
Table.Is(x => "Prefix" + x.EntityType.Name)
仅适用于实体表(不适用于联接表或子类表)
我似乎找不到一种简单的方法来让nhibernate创建的每个表都带有特定的字符串作为前缀,而无需先识别所有会创建表的情况并为每个情况指定一个规则。 w!
最佳答案
为此,您必须实现IHasManyToManyConvention
和IJoinedSubclassConvention
public class SubclassConvention : IJoinedSubclassConvention, IHasManyToManyConvention
{
public void Apply(IJoinedSubclassInstance instance)
{
instance.Table("Prefix" + instance.Type.Name);
}
public void Apply(IManyToManyCollectionInstance instance)
{
instance.Table("Prefix" + instance.TableName);
}
}
关于nhibernate - 所有生成的表名的前缀字符串-FluentNHibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6390918/