public TParentEntity SingleOrDefault() { _metadatastore.AddEntity(typeof(TParentEntity)); BuildSql(0); var uniqueResultAction = new UniqueResultAction <TParentEntity>(_metadatastore, _hydrator, _connection, _dialect, _environment); return(uniqueResultAction.GetSingleOrDefaultResult(_currentStatement, _queryParameters)); }
public TEntity SingleOrDefault <TEntity>() where TEntity : class { if (typeof(TEntity) == typeof(TParentEntity)) { throw new InvalidOperationException("Can not project " + typeof(TParentEntity).Name + " onto " + typeof(TEntity).Name + ". The projection entity type can not be the same as the entity to be queried."); } _metadatastore.AddEntity(typeof(TEntity)); BuildSql(0); var uniqueResultAction = new UniqueResultAction <TEntity>(_metadatastore, _hydrator, _connection, _dialect, _environment); return(uniqueResultAction.GetSingleOrDefaultResult(_currentStatement, _queryParameters)); }