私は日付を表す文字列フィールドを持つMongoDBコレクションを持っています。私のC#のアプリでは、私は Mongodbの日付をC#LINQドライバと比較する
[BsonIgnoreExtraElements]
public class Tweet
{
public ObjectId Id { get; set; }
[BsonElement("text")]
public string Texto { get; set; }
[BsonElement("created_at")]
public string Fecha { get; set; }
public DateTime FechaConvertida
{
get
{
var formato = "ddd MMM dd HH:mm:ss zzzz yyyy"; //'Sun Oct 23 19:42:04 +0000 2016'
var enUS = new CultureInfo("en-US");
var fechaConvertida = DateTime.ParseExact(this.Fecha, formato, enUS, DateTimeStyles.None);
return fechaConvertida;
}
}
}
はその後、私のAPIに私は2つの日付の間のクエリフィルタエレメントを作る
DateTimeオブジェクトにその文字列を変換する集計フィールドを持つクラスに結果をマップ(「CSHARPドライバLINQ」を使用して)public IEnumerable<Tweet> GetTweetsDePeriodo(string nombreColeccion, int dias)
{
var hoy = DateTime.Today;
var fechaInicial = hoy.AddDays(-dias);
var coleccion = _db.GetCollection<Tweet>(nombreColeccion).AsQueryable<Tweet>();
var tweetsFiltrados = (from c in coleccion
where c.FechaConvertida >= fechaInicial
select c
).ToList();
return coleccion;
}
そして私は次のエラーを取得する: を要求の処理中に未処理の例外が発生しました*。 InvalidOperationException:{document} .FechaConvertidaはサポートされていません
ご存知ですか?あなたはそれが問題になることはありません日時
[BsonElement("created_at")]
public DateTime Fecha { get; set; }
としてあなたのモデルにあなたの財産を宣言した場合、事前に おかげで、
fechaInicialをvarではなくDateTimeとして宣言できますか? –
Tweetデータオブジェクトを私たちに教えてもらえますか? – Dudemanword
@viveknuna私はそれを試しましたが、何も変えていません。とにかくありがとう、 – Pedraz