私は次のモデルを定義しました
public class TodayOrder
{
public string ID_ORIG { get; set; }
public string PART_ID { get; set; }
public string PART_DEX { get; set; }
public double TimeSecs { get; set; }
}
そして今、私は次のLinq式を使用してリストにデータを入力しようとしています。
var todaysOrders = DCC.vw_ORD_GP_volumes_lastSets
.Where(a => a.ID_ORIG == id_orig.ToUpper() &&
a.PART_ID == Part.ToUpper())
.Select(a =>
new TodayOrder{
ID_ORIG = a.ID_ORIG,
PART_ID = a.PART_ID,
PART_DEX = a.PART_DEX,
TimeSecs = a.ReqTime.GetValueOrDefault().TotalSeconds });
List<TodayOrder> lst = todaysOrders.ToList();
ここで、ReqTimeのタイプはTimeSpan?
です。
問題は、実行時にエラーが発生することです。SQLにリテラルがありません:00:00:00 -TimeSpanに問題があるようです。
Line 72: });
Line 73: ERROR> lst = todaysOrders.ToList();
Line 74:
[InvalidOperationException: Value has no literal in SQL: 00:00:00]
System.Data.Linq.SqlClient.Visitor.FormatValue(Object value) +584911
System.Data.Linq.SqlClient.Visitor.VisitValue(SqlValue value) +32
実際、プロパティTimeSecsを設定している行をコメントアウトすると、すべてが正常に機能しています。
TodayOrderクラスインスタンスをインスタンス化するための正しいアプローチは何でしょうか?