This should work:
var lda = connection.LinqRemoteDataAdapter;
var query = from p in lda.GetTable<Products>()
var products = query.Where(p => p.Weight > 0).ToList();
It will be translated to SQL query like
SELECT ... FROM Products WHERE weight > 0
It is possible to write the query as
var products = query.Where(p => (p.Weight != null) && (p.Weight > 0)).ToList();
but there is no need to because
p.Weight > 0 condition alone will do the same and will be faster db-wise.
Remember that this statement is not executed locally - it is just a way of describing some conditions that will be later converted into a SQL statement.
In SQL expression
[Weight] > 0 will be True only when [Weight] is not NULL and [Value] is greater than NULL
Coalesce operator is not supported atm. I’ll log an issue to check if it is possible to add its support.