Linq to sql 匿名托管的DynamicMethods程序集
在我的mvc web应用程序中,我遇到以下错误: 匿名托管的DynamicMethods程序集Linq to sql 匿名托管的DynamicMethods程序集,linq-to-sql,Linq To Sql,在我的mvc web应用程序中,我遇到以下错误: 匿名托管的DynamicMethods程序集 堆栈跟踪:在路径中System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader`2.MoveNext()处的System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader`2.MoveNext()处读取匿名类型14(ObjectMaterialer1) 消息:无法将空值分配给Syste
堆栈跟踪:在路径中System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader`2.MoveNext()处的System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader`2.MoveNext()处读取匿名类型1
4(ObjectMaterialer
1)
消息:无法将空值分配给System.Int32类型的成员,该类型是不可为空的值类型
当我从本地服务器运行我的站点时,它工作正常。
但当它在远程服务器上运行时,它给出了上述错误
这是我的密码:
var res=
(from r in DetailsTable
where r.Activated == true
group r by new { r.ActivationDate, r.ProductID, r.SubProductID } into t
select new { icount = t.Count(),
sActivationDate = t.Key.ActivationDate.ToShortDateString(),
iProductID = t.Key.ProductID,
iSubProductid = t.Key.SubProductID })
.OrderBy(r => r.icount);
谢谢
正如您遇到的问题是,在本地服务器上存在数据的远程服务器上,您的查询是空的 我不确定异常发生在查询的哪个部分,所以我建议将查询一分为二
var res=
from r in DetailsTable
where r.Activated == true;
if(res.Count() == 0)
return; // or handle gracefully as appropriate
var groups =
from r in res
group r by new { r.ActivationDate, r.ProductID, r.SubProductID } into t
select new { icount = t.Count(),
sActivationDate = t.Key.ActivationDate.ToShortDateString(),
iProductID = t.Key.ProductID,
iSubProductid = t.Key.SubProductID })
.OrderBy(r => r.icount);
我确信在一条查询语句中有一种更优雅的方式来实现这一点,但是如果没有更多的细节,我不确定到底该如何进行