がサポートされていません。クエリ演算子は、「ToDictionary」私は辞書を取得するには、次のクエリを使用しています
using (JSEADataContext dc = new JSEADataContext(JSEADBContext.GetConnectionstring()))
{
var Incident = (from incident in dc.Incidents
from main in dc.Mains.Where(inv => inv.ReportID == incident.reportid).DefaultIfEmpty()
from teamApproval in dc.TeamsAndApprovals.Where(inv => inv.ReportID == incident.reportid).DefaultIfEmpty()
where incident.reportid == "123123"
orderby incident.reportid ascending
select new Data
{
AssessmentFormCount = (from assessmentCount in dc.Table1
join panel in dc.Table2 on assessmentCount.lng_ID equals panel.lng_id
into temp
from j in temp.DefaultIfEmpty()
where assessmentCount.ReportID == main.ReportID
group j by j.str_desc into grouping
select new AssessmentFormCheckedCount
{
str_Panel = grouping.Key,
lng_Count = grouping.Count()
}).AsEnumerable().ToDictionary(id => id.str_Panel, id => id.lng_Count) }).ToList<Data>().SingleOrDefault();
}
public class AssessmentFormCheckedCount
{
public string str_Panel { get; set; }
public int lng_Count { get; set; }
}
public class Data : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
#region Assessment Count
private AssessmentFormCheckedCount _AssessmentFormCount { get; set; }
public AssessmentFormCheckedCount AssessmentFormCount
{
get
{
return this._AssessmentFormCount;
}
set
{
if ((this._AssessmentFormCount != value))
{
this._AssessmentFormCount = value;
this.NotifyPropertyChanged("AssessmentFormCount");
}
}
}
#endregion
}
問題:
私は取得していますこれを実行しようとしています
クエリ演算子 'ToDictionary'はサポートされていません
ここで私は間違っています。
'ToDictionary'その後、' ToList'その後、 'SingleOrDefault'?それは奇妙な組み合わせです。 – user3185569
ご覧のとおり、私はサブクエリとして使用しています。これは、単一オブジェクトの場合、異なるパネルに対して複数のカウントがあることを意味します。 – Sunny
SubQueryで 'ToDictionary'を使うことはできません。 Linq-To-SQLでは、外部クエリと内部クエリの両方がOne-Goで実行されるためです。これでプロバイダは内部クエリをSQLに変換することができません!あなたは、あなたの質問を考え直すか、Linq-2-SQLを使ってストアドプロシージャを呼び出す必要があります。それは単一の値を返すための1つの巨大なクエリです! – user3185569