У меня была такая же проблема, и я решил ее таким образом (используя географию вместо геометрии, но она очень похожа):
Сначала (этот шаг не является обязательным), и поскольку мне требовалось работать с координатами WGS84, я создал следующий тип:
public class Wgs84GeographyType : MsSql2008GeographyType
{
protected override void SetDefaultSRID(GeoAPI.Geometries.IGeometry geometry)
{
geometry.SRID = 4326;
}
}
Затем я создал соглашение, похожее на ваше, но с указанным методом «CustomSqlType»:
public class Wgs84GeographyTypeConvention : IPropertyConvention
{
public void Apply(IPropertyInstance instance)
{
if (typeof(IGeometry).IsAssignableFrom(instance.Property.PropertyType))
{
instance.CustomType(typeof(Wgs84GeographyType));
instance.CustomSqlType("GEOGRAPHY");
}
}
}
После этого генерация схемы должна работать без проблем.