2

我在 SQL Server 的表中有一个地理列,并且想过滤具有特定几何类型的行,例如几何类型为“点”的所有记录

SQL 查询看起来像

select * from GeometryTable g where g.Geography.STGeometryType() = 'Point'

我怎样才能为此创建一个标准?该标准将与其他标准一起使用

criteria.Add(Restrictions.Add(<Geography.STGeometryType()>, some.Value)

谢谢

4

1 回答 1

1

使用此语法:

var criteria = session.CreateCriteria<Geometry>();
criteria.Add
(
  Expression.Sql(" {alias}.[Geography].STGeometryType() = ? "
  , "Point"                               // a place for your parameter
  , NHibernate.NHibernateUtil.String)
);
var list = criteria.List<Geometry>();
于 2013-01-26T06:31:31.243 回答