非静的メソッドにはターゲット エラーが必要です。Google で検索すると、null 値をチェックする投稿が表示され、データではすべての値が非 null として宣言されており、なぜこのエラーが発生するのかわかりません。助けてください。
マイコード:
Db を呼び出して合計結果を取得しています
var result = _retailerStatsRepository.GetAllRetailersForManufacturerCountryAndCategorySelectedDates(manufacturerRow.Id,
countryRow.Id,
categoryRow.Id,
cumLeads.StartDate,
cumLeads.EndDate);
ノート:
Linq を使用して、さらにクエリを実行するために結果を使用しようとしています
retailerWeeklyClickCount = result.Where(
i =>
i.Date >= localStart && i.Date <= localEnd && i.RetailerId == retailer.Id &&
i.ManufacturerId == manufacturerRow.Id
&& i.CountryId == countryRow.Id && i.CategoryId == categoryRow.Id).Sum(i => i.WidgetClicks);
エラーが発生するので、以下を試します
編集
var retailerWeeklyClicks = result.Where(
i =>
i.Date >= localStart && i.Date <= localEnd && i.RetailerId == retailer.Id &&
i.ManufacturerId == manufacturerRow.Id
&& i.CountryId == countryRow.Id && i.CategoryId == categoryRow.Id);
if(retailerWeeklyClicks!=null)
{
retailerWeeklyClickCount = retailerWeeklyClicks.Sum(i => i.WidgetClicks);
}
しかし、それでも同じエラーが発生し、DB をチェックインしましたが、選択したカテゴリの開始日から終了日までの数日間しかデータがありません。
スタックトレース :
System.Reflection.RuntimeMethodInfo.CheckConsistency (オブジェクト ターゲット) で System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck (オブジェクト obj、BindingFlags invokeAttr、バインダー バインダー、オブジェクト [] パラメーター、CultureInfo カルチャ) で System.Reflection.RuntimeMethodInfo.Invoke (オブジェクト obj、 BindingFlags invokeAttr、Binder バインダー、Object[] パラメータ、CultureInfo カルチャ)
System.Reflection.RuntimePropertyInfo.GetValue (オブジェクト obj、BindingFlags invokeAttr、バインダー バインダー、オブジェクト [] インデックス、CultureInfo カルチャ) で System.Reflection.RuntimePropertyInfo.GetValue (オブジェクト obj、オブジェクト [] インデックス) で System.Data.Objects. ELinq.QueryParameterExpression.TryGetFieldOrPropertyValue(MemberExpression me、Object インスタンス、Object& memberValue) で System.Data.Objects.ELinq.QueryParameterExpression.TryEvaluatePath(式式、ConstantExpression& constantExpression) で System.Data.Objects.ELinq.QueryParameterExpression.EvaluateParameter(Object[]引数) System.Data.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable1 forMergeOption) at System.Data.Objects.ObjectQuery
1.GetResults(Nullable ) で1 forMergeOption) at System.Data.Objects.ObjectQuery
System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[ TResult1 source) at System.Data.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__3[TResult](IEnumerable
](IEnumerable1 query, Expression queryRoot) at System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression) at System.Linq.Queryable.Sum[TSource](IQueryable
1 ソース、式1 selector) at reporting.e_tale.co.uk.Controllers.ReportsController.CumLeadsParameters(CumLeadsReport cumLeads) in d:\e-tale-core-development\trunk\reporting.e-tale.co.uk\Controllers\ReportsController.cs:line 492 at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary
2 つのパラメーター) System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext、ActionDescriptor actionDescriptor、IDictionary2 parameters) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func
1 継続)で
私は Linq を初めて使用するので、何か間違ったことをしている場合は助けてください。