1
我正在读取来自XLS文档的数据,并且使用了非常棒的LINQ to Excel库。 我遇到的问题是处理LINQ的更多问题。考虑LINQ to 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();
}
我需要一些方法首先要检查是否添加了所有新数据之前存在的事件,然后提交更改。请帮忙。
我不太明白你的问题?你的存在方法是否已经检查过,看看事件是否存在,并且在插入/附加之前调用它? – sgmoore 2010-11-13 16:51:11
它工作正常,以检查事件是否存在。我遇到的问题是我应该如何更新数据库中的现有事件。我想首先从db获取对象,然后添加所有新属性,然后提交更改,但我不能这样做,因为在foreach循环中保存了所有我想更新现有事件的新值,我希望你明白我的意思。 – Fore 2010-11-13 16:55:02