C# 需要CollectionType。参数名称:collectionType
我在应用程序中使用ASP.NETMVC和实体框架。我明白了 需要CollectionType。参数名称:发布项目并放入生产服务器时发生collectionType错误。但是我自己的电脑上没有。这是我的密码C# 需要CollectionType。参数名称:collectionType,c#,asp.net-mvc,linq,entity-framework,C#,Asp.net Mvc,Linq,Entity Framework,我在应用程序中使用ASP.NETMVC和实体框架。我明白了 需要CollectionType。参数名称:发布项目并放入生产服务器时发生collectionType错误。但是我自己的电脑上没有。这是我的密码 var model = DB.RFH_ComplexRequest.Where( d => (d.FKRequestPeriodID == requestPeriodID || requestPeriodID == null) &
var model = DB.RFH_ComplexRequest.Where(
d => (d.FKRequestPeriodID == requestPeriodID || requestPeriodID == null)
&& (d.RFH_Personel.PersonelCode == personelCode || personelCode == "")
&& (String.Compare(d.StartDate, fromDate) >= 0 || fromDate == "")
&& (String.Compare(d.EndDate, toDate) <= 0 || toDate == "")
&& (d.RequestCode == requestCode || requestCode == null)
&& (d.FKComplexRequestStatusID == requestStatus || requestStatus == null)
&& (d.FKComplexID == complex || complex == null)
&& (d.FKComplexRequestRegistrationTypeID == registrationType || registrationType == null)
&& (d.FKComplexRequestTypeID == requestType || requestType == null))
.Select(d => new AllRequestsViewModel
{
PKComplexRequestID = d.PKComplexRequestID,
RequestCode = d.RequestCode,
UsageHistory = 0,
EmploymentHistory = 0,
StatusName = d.RFH_ComplexRequestStatus.ComplexRequestStatusName,
FKPersonelID = d.FKPersonelID,
Status = d.FKComplexRequestStatusID,
PersonelCode = d.RFH_Personel.PersonelCode,
PersonelName = d.RFH_Personel.PersonelName,
PersonelFamily = d.RFH_Personel.PersonelFamily,
RequestDayCount = d.RequestDayCount,
ComplexName = d.RFH_Complex != null ? d.RFH_Complex.ComplexName : "",
DepartmentName = d.RFH_Personel.RFH_Department.DepartmentName,
RegisterDate = d.RegisterDate,
StartDate = d.StartDate,
EndDate = d.EndDate,
ComplexRequestTypeName = d.RFH_ComplexRequestType.ComplexRequestTypeName,
RequestPeriodName = d.RFH_RequestPeriod != null ? d.RFH_RequestPeriod.RequestPeriodName : ""
}).
ToList();
foreach (var complexRequest in model)
{
// Get last use and calculate usage history
var requestTypeList =
DB.RFH_ComplexRequestType.Where(d => d.AffectsUsagePriority)
.Select(d => d.PKComplexRequestTypeID)
.ToList();
var statusList = new List<byte>
{
//Convert.ToByte(ComplexRequestStatus.UserConfirmed),
//Convert.ToByte(ComplexRequestStatus.RoomAllocated),
//Convert.ToByte(ComplexRequestStatus.SecondSignatureConfirmed),
//Convert.ToByte(ComplexRequestStatus.Confirmed),
Convert.ToByte(ComplexRequestStatus.Used)
};
var lastUsage = DB.RFH_ComplexRequest.Where(
r => r.PKComplexRequestID != complexRequest.PKComplexRequestID &&
r.FKPersonelID == complexRequest.FKPersonelID &&
r.FKRequestPeriodID != requestPeriodID &&
statusList.Contains(r.FKComplexRequestStatusID) &&
(requestTypeList.Any() && requestTypeList.Contains(r.FKComplexRequestTypeID)) &&
(r.RFH_Complex != null && r.RFH_Complex.AffectsUsagePriority &&
r.RFH_Complex.UsagePriorityAffectDays != null &&
r.RequestDayCount >= r.RFH_Complex.UsagePriorityAffectDays))
.OrderByDescending(r => r.StartDate).FirstOrDefault();
if (lastUsage != null)
{
complexRequest.UsageHistory = CGeneralDef.ShamsiYearDiff(lastUsage.StartDate,
CGeneralDef.GetCurrentShamsiDate());
complexRequest.LastUsageDate = lastUsage.StartDate;
}
else
{
complexRequest.UsageHistory = 100;
complexRequest.LastUsageDate = "0000/00/00";
}
var personel = DB.RFH_Personel.Single(r => r.PKPersonelID == complexRequest.FKPersonelID);
if (personel != null && !String.IsNullOrEmpty(personel.EmploymentDate))
complexRequest.EmploymentHistory = CGeneralDef.ShamsiYearDiff(personel.EmploymentDate, CGeneralDef.GetCurrentShamsiDate());
else
complexRequest.EmploymentHistory = 0;
}
这是我的堆栈跟踪:
[ArgumentException:需要CollectionType。
参数名称:collectionType]
System.Data.Common.CommandTrees.ExpressionBuilder.Internal.ArgumentValidation.ValidateEndEmptyCollectionTypeUsage collectionType、DbExpressionList和validElements+11017011
System.Data.Objects.ELinq.NewArrayInitTranslator.TypedTranslateExpressionConverter父级,NewArrayExpression linq+285
System.Data.Objects.ELinq.ExpressionConverter.TranslateExpressionExpressionExpression linq+369
System.Data.Objects.ELinq.ConstantTranslator.TypedTranslateExpressionConverter父级,ConstantPression linq+603
System.Data.Objects.ELinq.ExpressionConverter.TranslateExpressionExpressionExpression linq+369
System.Data.Objects.ELinq.UnarySequenceMethodTranslator.TranslateExpressionTransfer父级,MethodCallExpression调用+83
System.Data.Objects.ElIQ.MethodCallTranslator.TypedTranslateExpressionConverter父级,MethodCallExpression linq+222
System.Data.Objects.ELinq.BinaryTranslator.TypedTranslateExpressionConverter父级,BinaryExpression linq+180
System.Data.Objects.ELinq.BinaryTranslator.TypedTranslateExpressionConverter父级,BinaryExpression linq+327
System.Data.Objects.ELinq.BinaryTranslator.TypedTranslateExpressionConverter父级,BinaryExpression linq+180
System.Data.Objects.ELinq.ExpressionConverter.TranslateLambdaLambdaExpression lambda,DbExpression输入+244
System.Data.Objects.Elink.OneLambdaTranslator.TranslateExpressionConverter父级、MethodCallExpression调用、DbExpression和source、DbExpressionBinding和sourceBinding、DbExpression和lambda+322
System.Data.Objects.ELinq.OneLambdaTranslator.TranslateExpressionConverter父级,MethodCallExpression调用+61
System.Data.Objects.ElIQ.MethodCallTranslator.TypedTranslateExpressionConverter父级,MethodCallExpression linq+222
System.Data.Objects.ELinq.ExpressionConverter.TranslateExpressionExpressionExpression linq+369
System.Data.Objects.ELinq.OneLambdaTranslator.TranslateExpressionConverter父级、MethodCallExpression调用、DbExpression和source、DbExpressionBinding和sourceBinding、DbExpression和lambda+79
System.Data.Objects.ELinq.OneLambdaTranslator.TranslateExpressionConverter父级,MethodCallExpression调用+61
System.Data.Objects.ElIQ.MethodCallTranslator.TypedTranslateExpressionConverter父级,MethodCallExpression linq+222
System.Data.Objects.ELinq.ExpressionConverter.TranslateExpressionExpressionExpression linq+369
System.Data.Objects.ELinq.UnarySequenceMethodTranslator.TranslateExpressionTransfer父级,MethodCallExpression调用+83
System.Data.Objects.ElIQ.MethodCallTranslator.TypedTranslateExpressionConverter父级,MethodCallExpression linq+222
System.Data.Objects.ELinq.ExpressionConverter.TranslateExpressionExpressionExpression linq+369
System.Data.Objects.Elink.ElinkQueryState.GetExecutionPlanNullable1 forMergeOption+296
System.Data.Objects.ObjectQuery1.GetResultsNullable1 forMergeOption+10985849
System.Data.Objects.ObjectQuery1.System.Collections.Generic.IEnumerable.GetEnumerator+47
System.Linq.Enumerable.FirstOrDefaultIEnumerable1源+220
System.Linq.Queryable.FirstOrDefaultIQueryable1 source+383
RefahiWeb.Controllers.ComplexRequestController.AllRequestsAllable1 requestPeriodID,String personelCode,String fromDate,String toDate,Nullable1 requestStatus,Nullable1 complex,Nullable1 registrationType,Nullable1 requestCode,Nullable1 requestType,Boolean firstReference+12644
lambda_方法闭包,控制器基,对象[]+655
System.Web.Mvc.ReflectedActionDescriptor.ExecuteControllerContext controllerContext,IDictionary2参数+261
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodControllerContext controllerContext,ActionDescriptor ActionDescriptor,IDictionary2参数+39
System.Web.Mvc.Async.c__显示类42.b__41+34
System.Web.Mvc.Async.c\u显示类39.b\u 33+129
System.Web.Mvc.Async.c__显示Class4F.b__49+920775
System.Web.Mvc.Async.c___显示类37.b__36IAsyncResult asyncResult+15
System.Web.Mvc.Async.c__显示Class2A.b__20+33
System.Web.Mvc.Async.c__显示类25.b__22IAsyncResult asyncResult+921580
System.Web.Mvc.c__DisplayClassAD.b__18IAsyncResultAsyncResult+28
System.Web.Mvc.Async.c___显示类4.b__3IAsyncResult ar+20
System.Web.Mvc.Controller.EndExecuteCoreIAsyncResult asyncResult+67
System.Web.Mvc.Async.c___显示类4.b__3IAsyncResult ar+20
System.Web.Mvc.Controller.EndExecuteAsyncResult asyncResult+53
System.Web.Mvc.c__显示Class8.b__3IAsyncResultAsyncResult+42
System.Web.Mvc.Async.c___显示类4.b__3IAsyncResult ar+20
System.Web.Mvc
.MvcHandler.EndProcessRequestIAsyncResult异步结果+53
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IEExecutionStep.Execute+453
System.Web.HttpApplication.executesteppexecutionstep步骤,布尔值&同步完成+371
提前感谢您的帮助。找到了。requestTypeList为空。的可能重复项