0

我们有一个名为的模型Model1,它有两个属性。Model1.Time,Model1.Text而且Model1.Value, 当然它也有 ID 作为要求。

我们从 SOAP 服务接收值并将它们注册到我们的数据库,但问题是:我们必须检查这些值是否已经可用。最好的方法是什么?

基本上我们使用的是 linq 查询。

DataContext db = new DataContext();
var x = (from y in db.Models where y.Value != new.Value && y.Text != new.Text select y).toList();
if  { (x.Count == null) db.Models.Add(new); }
else {
foreach (var y in x) {
if (y.Time < new.Time) {
     y.Time = new.Time;
     y.Value = new.Value;
     y.Text = new.Text;
     db.ObjectStateManager.ChangeObjectState(y, EntityState.Modified);
}
}
db.SaveChanges();
}

你认为吗?这是唯一可能的方法还是有更合适的解决方案?

4

1 回答 1

0

如果您没有该服务提供的 ID,那么我认为您所拥有的就是您能做的最好的。或者至少是近似的最佳值。如果不了解更多关于您的用例或您要保存的内容,很难为您提供更好的解决方案。

你有什么工作吗?您发布的代码是否有更具体的内容需要帮助?

于 2012-12-15T20:26:35.307 回答