Linqtoエンティティを使用してデータセットの2つのリストを取得しています。どちらも同じデータベースにありますが、カレンダーに統合されているため、1つのテーブルをタスクテーブルに変換する必要があります。ここで極端に詳しく説明する価値はないと思いますが、IDの照合と新しいタスクオブジェクトの作成のプロセスをスピードアップしたいと思います。これは1回限りのスニペットなので、低速でもプログラムを一晩実行したままにしておくことができます。ただし、今後の参考のために、効率を上げるための提案をお願いします。
var accounts = data.Accounts.ToList().OrderBy(a => a.ID);
Incidents[] Incidents = data.Incidents.ToArray();
for (int i=0;i<Incidents.Length;i++)
{
foreach (var a in accounts)
{
if (a.Acct_CID == Incidents[i].CustomerID)
{
Tasks t = new Tasks();
t.creator_id = a.ID;
t.start_date = Incidents[i].DateOpened;
t.end_date = Incidents[i].DateCLosed;
t.product_code = Incidents[i].ProductCode;
t.install_type = Incidents[i].InstallType;
t.os = Incidents[i].OSType;
t.details = Incidents[i].Description;
t.solution = Incidents[i].Solution;
t.creator_name = Incidents[i].TechID;
t.category = Incidents[i].Title;
t.text = "Ticket for" + " " + Incidents[i].Name;
if (t.end_date == DateTime.MinValue || t.end_date == null)
t.status_id = 6;
else t.status_id = 7;
data.Tasks.Add(t);
break;
}
}
}
data.SaveChanges();