C#のMongoDbにオブジェクトを挿入する際に問題があります。 、私は私のコレクションをチェックインするとMongoDbドライバがオブジェクト全体を挿入していません
Statusオブジェクトは常に不足している:私は挿入しようとしているオブジェクトが、ちょうどこのようなものです
_db.GetCollection<LogRecord> (collectionName).InsertOneAsync (log);
:私のコードは、ちょうどこのようなものです:
マイオブジェクト:
public class LogRecord
{
public Dictionary<string, QueryDetailsRecord> QueryDetails { get; set; }
}
public class QueryDetailsRecord
{
public double ElapsedTime { get; set; }
public bool InfoFound { get; set; }
// Cache vars
public int CacheValidDays { get; set; }
public bool CacheEnabled { get; set; }
public bool CacheUsed { get; set; }
// Errors codes
public StatusRecord Status { get; set; }
public string ExceptionMessage { get; set; }
/// <summary>
/// Constructor
/// </summary>
public QueryDetailsRecord() {}
/// <summary>
/// Constructor
/// </summary>
/// <param name="elapsedTime">Elapsed time</param>
/// <param name="status">Status object</param>
/// <param name="exceptionMessage">Error message</param>
public QueryDetailsRecord (double elapsedTime, StatusRecord status, string exceptionMessage)
{
ElapsedTime = elapsedTime;
Status = status;
ExceptionMessage = exceptionMessage;
}
}
public class StatusRecord
{
private int _code = -1;
private string _msg = null;
public int Code
{
get { return _code; }
}
public string Message
{
get { return _msg; }
}
/// <summary>
/// Constructor
/// </summary>
/// <param name="code">Status code</param>
/// <param name="msg">Status message</param>
public StatusRecord (int code, string msg)
{
_code = code;
_msg = msg;
}
}
誰かがここにいれば何のヒントを持っていますか?
ありがとうございました!
'LogRecord'クラスの定義を表示できますか? –
あなたのQueryDetailsRecordにいくつかの属性が適用されているか、シリアライザを設定してフィールドが無視されていると思います。またはStatusRecordは構造体です。 [ask]を読んで関連するすべてのコードを表示してください。 – CodeCaster
@SergeyBerezovskiyオブジェクトで更新=) – Crasher