我正在从 XLS 文档中读取数据,并且正在使用出色的LINQ to Excel库。我遇到的问题更多是处理 LINQ 的问题。
我从 Excel 表中读取了新的和更新的事件。所以我想检查数据库中是否已经存在该事件,如果存在,我想将它与该事件联系起来,然后用我读过的 excel 中的所有新数据更新它。一些代码:
var excel = new ExcelQueryFactory("filepath");
var getincident = from jj in excel.Worksheet<Incident>("Sheet1")
select jj;
foreach (var incident in getincident)
{
if (incident.CallId.Trim() == "")
break;
if (exists(incident.CallId, context))
{
incident.id = (from b in context.Incidents
where b.CallId == incident.CallId
select b.id
).First();
context.Incidents.Attach(incident, true);
}
else
{
context.Incidents.InsertOnSubmit(incident);
}
context.SubmitChanges();
}
并且存在是一个简单的检查事件是否存在:
private bool exists(string piCallId, DataClasses1DataContext context)
{
return (from b in context.Incidents
where b.CallId == piCallId select b
).Any();
}
在添加所有新数据之前,我首先需要一些方法来检查事件是否存在,然后提交更改。请帮忙。