0

CRM 2011 プラグインの初心者です。ここに、エラーをスローするコードの一部を示します。

private static void AddWRItoServiceActivity(IOrganizationService service, Guid id)
    {
        using (var crm = new XrmServiceContext(service))
        {

            var serviceactivity = crm.ServiceAppointmentSet.Where(c => c.Id == id).First();
            var serviceitem = crm.brd_serviceitemSet.Where( c => c.brd_RegardingServiceId == serviceactivity.ServiceId);

            for (int i = 1; i < serviceitem.Count(); i++)
            {
                var workReportItem = new brd_workreportitem
                   {
                       brd_name = "By payman Plugin",
                       brd_serviceappointment_brd_workreportitem = serviceactivity,
                   };
                crm.AddObject(workReportItem);
                crm.SaveChanges();
            }
        }
    }

私はこれを試しました:

for (int i = 1; i < serviceitem.ToList().Count(); i++)

これもエラーになります。このようなカウントや、foreach などの他の構文の使用について教えてください。PS:これも試しました:

foreach (var s in serviceitem.ToList())
4

4 に答える 4

0

最後に、私はそれを解決することに成功します。Id の比較は foreach の実行に役立ちました。

var serviceitem = crm.brd_serviceitemSet.Where( c => c.brd_RegardingServiceId.Id == serviceactivity.ServiceId.Id);
于 2013-01-03T22:51:35.713 に答える
0

そのコードにすぐに問題があることはわかりません。プロジェクトと事前にバインドされたクラスをどのようにセットアップしたかが原因である可能性があります。

Using LINQ in CRM 2011 Plugins を読んで、そこで概説されている手順に従ってみることをお勧めします。彼はあなたが達成したいことを説明しているためです。

于 2013-01-03T09:52:14.900 に答える
0

FetchXML は、Count および Sum 機能をサポートする唯一のものです。Count と Sum は集計と見なされます。残念ながら、Linq では集計は機能しません。

ここではFetchXMLの使用について説明します。

于 2013-01-03T15:58:26.907 に答える