我正在尝试使用fluent fluent API从mongoDB获取一些数据。我对项目方法有问题,它总是显示出具有强型
的ID nullvar result= await _xyz.Aggregate()
.Match(e =>
e.Id != ObjectId.Empty
&& e.StartDate.HasValue
&& e.StartDate >= DateTime.Today
&& e.ABC.Any(a => abcIds.Contains(a.abcId)))
.Project(p => new XyzSummary()
{
Id= p.Id,
Name = p.Name,
ABC = (List<ABC>)p.ABC.Where(a => abcIds.Contains(a.abcId)),
EventVenue = p.EventVenue,
StartDate = p.StartDate,
City = p.City,
LngLat = p.LngLat,
})
.ToListAsync();
这是我的xyzsummary模型
[BsonIgnoreExtraElements]
public class XyzSummary
{
[BsonId]
public ObjectId Id { get; set; }
public string Name { get; set; }
public Abcummary EventVenue { get; set; }
public DateTime? StartDate { get; set; }
public string City { get; set; }
public GeoJson2DCoordinates LngLat { get; set; }
}
查询是返回正确的结果
任何人都可以帮助我。
谢谢
为什么您甚至使用聚合?
此代码会做同样的事情:
var result = await _xyz.Find(e => e.Id != ObjectId.Empty
&& e.StartDate.HasValue
&& e.StartDate >= DateTime.Today)
.ToListAsync();
也许我错过了一些事情。让我知道我是否是=)
编辑:我缺少一些东西。