public class ReferenceConvention : IReferenceConvention{
public void Apply(IManyToOneInstance instance) {
instance.ForeignKey(string.Format("FK_{0}_{1}",
instance.EntityType.Name,
instance.Name));
}
}
上面的代码允许我在类型References的情况下更改外键关系的命名约定。如何为IHasManyConvention名称和IHasManyToManyConvention实现相同的结果。 IReferenceConvention的名称约定更改完美地显示了方式,但我没有达到其他类型的关系。
答案 0 :(得分:2)
对于HasMany
,我使用:
/// <summary>
/// Collection relationship constraint e.g. DocumentForum.Questions (1:m)
/// </summary>
public class HasManyConvention : IHasManyConvention
{
public void Apply(IOneToManyCollectionInstance instance)
{
instance.Key.ForeignKey(
string.Format(
"[FK {1}.{0}Id references {0}.Id {2}]",
instance.EntityType.Name,
instance.Relationship.Class.Name,
instance.StringIdentifierForModel));
}
}
很抱歉,无法帮助您使用ManyToMany - 我总是将这些表示为2 x OneToMany(对于具体的链接实体),以上所述