private ForeignKey CreateSelfRefFK(bool useAltKey = false) { var entityType = new Model().AddEntityType(typeof(SelfRef)); var pk = entityType.GetOrSetPrimaryKey(entityType.AddProperty(SelfRef.IdProperty)); var fkProp = entityType.AddProperty(SelfRef.SelfRefIdProperty); var property = entityType.AddProperty("AltId", typeof(int)); var principalKey = useAltKey ? entityType.GetOrAddKey(property) : pk; var fk = entityType.AddForeignKey(new[] { fkProp }, principalKey, entityType); fk.IsUnique = true; fk.HasDependentToPrincipal(SelfRef.SelfRefPrincipalProperty); fk.HasPrincipalToDependent(SelfRef.SelfRefDependentProperty); return(fk); }
private ForeignKey CreateSelfRefFK(bool useAltKey = false) { var entityType = new Model().AddEntityType(typeof(SelfRef)); var pk = entityType.GetOrSetPrimaryKey(entityType.AddProperty(SelfRef.IdProperty)); var fkProp = entityType.AddProperty(SelfRef.SelfRefIdProperty); var property = entityType.AddProperty("AltId", typeof(int)); var principalKey = useAltKey ? entityType.GetOrAddKey(property) : pk; var fk = entityType.AddForeignKey(new[] { fkProp }, principalKey, entityType); fk.IsUnique = true; fk.HasDependentToPrincipal(SelfRef.SelfRefPrincipalProperty); fk.HasPrincipalToDependent(SelfRef.SelfRefDependentProperty); return fk; }