LINQでTimeSpanを使用できないことを理解していますが、TimeSpanを追加してDateTimeにwhere条件を実行したいとします。しかし、私の問題は、TimeSpanがクエリ内で最初に参照されることです。私は記憶でそれをやってみたが、それも問題を引き起こす。TimeSpanが最初にクエリで参照されるLINQのTimeSpanの処理
entiteis型のものである:
System.Data.Entity.IDbSet<CharterRequestDTO>
そしてbiddingToCloseInは次のように定義されています
[NotMapped]
public TimeSpan BiddingToCloseIn
{
get { return TimeSpan.FromTicks(BiddingToCloseInTicks); }
set { BiddingToCloseInTicks = value.Ticks; }
}
ノーマル
:
var charterRequestDtoIds =
(from e in entities
where e.ClientId == clientId
&& e.Status != TrackingState.Void
&& DateTime.Now < e.CreatedAt.AddDays(30).Add(e.BiddingToCloseIn)
select e.Id);
メモリに:
var charterRequestDtoIds =
from e in entities.Where(e => e.ClientId == clientId
&& e.Status != TrackingState.Void
&& DateTime.Now < e.CreatedAt.AddDays(30).Add(e.BiddingToCloseIn))
select e.Id;
両方のための3210
エラー:
System.NotSupportedException:LINQのエンティティへ 法「のSystem.DateTime(のSystem.TimeSpan)を追加」メソッド、および店舗の表現に変換することができません このメソッドを認識しません。
BiddingToCloseInの値がどのように変化させましたか?残っている日数ですか?時間など? – MiltoxBeyond
'BiddingToCloseIn'は' TimeSpan'ですか? – Jace
はい入札はtimeSpanですが、奇妙な方法で割り当てられています。今すぐあなたの質問を更新します – RickyTamma