集約流暢なApiを使用してmongodbからデータを取得しようとしています。私はそれは常に私のXyzSummaryモデルです集約Fluent APIプロジェクトメソッドIdを追加していません
[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; }
}
クエリが正しい結果を返しているが、投影した後、それは常に場合は、「ID」空を示し強くここ
var 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();
を入力してヌル同上を示し、プロジェクトの方法で問題が生じています私は投影からクラス名を削除しますが、それは正常に動作しますが、クラス名では常にIDを示していますnull
誰かが私を助けてください。
ありがとうございました
あなたのクラスで 'Id'を文字列として定義してみましたか? 'public String Id {get;}のようなものです。セット; } ' – Veeram
はい、同じ問題 – user2797910