【发布时间】:2017-06-03 07:10:54
【问题描述】:
我正在开发基于 Windows 的应用程序,我想在两个日期之间搜索详细信息 所以我为此使用 linq 查询。
我的查询是:
mealsdbEntities objEntity = new mealsdbEntities();
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-CA");
DateTime OrderFromDate = DateTime.Parse(dtOrderFDate.Value.ToString("MM/dd/yyyy"));
DateTime OrderToDate = DateTime.Parse(dtOrderToDate.Value.ToString("MM/dd/yyyy"));
DateTime DelFromDate = DateTime.Parse(dtOrderDelFDate.Value.ToString("MM/dd/yyyy"));
DateTime DelToDate = DateTime.Parse(dtOrderDelTDate.Value.ToString("MM/dd/yyyy"));
var OrderList = (from ol in objEntity.orders
join cust_Con in objEntity.customermasters
on ol.customer_id equals cust_Con.id
join cust_Cont in objEntity.customercontacts
on ol.customer_id equals cust_Cont.customer_id
join oDish in objEntity.orderdishes
on ol.id equals oDish.order_id
where cust_Con.company_name.Contains("" + txt_Cust_name.Text + "")
&& (EntityFunctions.TruncateTime(OrderFromDate) == OrderFromDate)
//>= OrderFromDate) && (ol.createdon <= OrderToDate))
//&& (ol.deliverydate >= DelFromDate && ol.deliverydate <= DelToDate)
select new
{
ID = ol.id,
Title = ol.title,
Name = cust_Con.company_name,
Phone = cust_Cont.contact_phone,
// Item = disgcateg.dish_name,
DeliveryDate = ol.deliverydate,
DeliveryTime = ol.deliverytime,
Amount = ol.orderamount,
Status = ol.status
}).ToList();
但我收到一个错误:
System.Data.Entity.dll 中出现“System.Data.EntityCommandExecutionException”类型的未处理异常
附加信息:执行命令定义时出错。有关详细信息,请参阅内部异常。
谁能告诉我哪里错了?
【问题讨论】:
-
如果 OrderFromDate 不是正好在午夜,您如何期望这是真的 (EntityFunctions.TruncateTime(OrderFromDate) == OrderFromDate)?无论如何,内在异常是什么?
-
@Steve System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-CA"); DateTime OrderFromDate = DateTime.Parse(dtOrderFDate.Value.ToString("MM/dd/yyyy")); DateTime OrderToDate = DateTime.Parse(dtOrderToDate.Value.ToString("MM/dd/yyyy")); DateTime DelFromDate = DateTime.Parse(dtOrderDelFDate.Value.ToString("MM/dd/yyyy")); DateTime DelToDate = DateTime.Parse(dtOrderDelTDate.Value.ToString("MM/dd/yyyy"));
-
"查看内部异常了解详情。" - 你也是?细节是什么?请把它们放在你的问题中。
-
我是说外部异常已经告诉你接下来应该做什么:看看内部异常。 (我还说您当前将日期值格式化为字符串只是为了再次解析它,这是一个非常糟糕的主意。我不知道您为什么要这样做。)
-
我放弃了——我不知道有多少种不同的方式可以说“看看内部异常”。