我在EF6的测试版中使用了this这样的约定:
public class NavigationPropertyConfigurationConvention : IConfigurationConvention<PropertyInfo, NavigationPropertyConfiguration>
{
public void Apply(PropertyInfo propertyInfo, Func<NavigationPropertyConfiguration> configuration)
{
var foreignKeyProperty = propertyInfo.DeclaringType.GetProperty("Id" + propertyInfo.Name);
if (foreignKeyProperty != null && configuration().Constraint == null)
{
var fkConstraint = new ForeignKeyConstraintConfiguration();
fkConstraint.AddColumn(foreignKeyProperty);
configuration().Constraint = fkConstraint;
}
}
}
但是由于IConfigurationConvention接口已被标记为内部,我无法升级我的EF的引用。已经在很多地方搜索过,但没有找到如何在RTM版本中重现该功能。
我也试过this,但似乎只适用于独立关联(IAs),因为我在CLR对象中有FK,所以不是我的情况。
有人再做过吗?
谢谢!