[英]Can some one help me to write C# mongo Query equivalent to SQL
C#Mongo錯誤:
Unsupported filter: ({document}{FILEDATE} > {document}{SPLITDATE}).
SQL查詢:
SELECT * FROM CURRENT AS C WHERE C.FILEDATE > C.SPLITDATE
C#代碼:
db.GetCollection<CollectionName>().AsQueryable()
.Where(a => a.fileDate > a.splitDate)
.Select(b => b.Name).Distinct().ToList()
我不確定是否有更好的方法來實現它,但是我通常使用Find語法,因為它看起來比AsQueryable()更通用-但是,可能只是我一個人。 嘗試這個:
var collection = db.GetCollection<CollectionObject>(CollectionName);
collection.Find(
(FilterDefinition<CollectionObject>)"{ $where : \"this.fileDate > this.splitDate\" }"
)
.Project<CollectionObject>(Builders<CollectionObject>.Projection.Include(c => c.Name))
.ToEnumerable()
.Select(c => c.Name)
.Distinct()
.ToList()
這樣的事情應該起作用,盡管我相信$ where可能不是很有效。 請注意,where中的名稱是文檔中的名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.