代码之家  ›  专栏  ›  技术社区  ›  THX-1138

LINQ to SQL读测试写为一个操作

  •  1
  • THX-1138  · 技术社区  · 14 年前

    我有 Tasks 表: Id (PK), TaskName, Status
    状态是: 排队的 , 忙吗? , 完成 .
    我想使用多个线程来处理任务,为此,我需要能够在一个操作中完成:

    var task = db.Tasks.FirstOrDefault(t=>t.Status == (byte) TaskStatus.Queued);
    task.Status = (byte) TaskStatus.Busy;
    db.SubmitChanges();
    

    显然,如果操作不是原子操作,我可以得到并发性问题。使用Linq to SQL执行上述操作的预期方法是什么(如果存在)?

    我知道我可以用1)storproc或2)来完成。 db.ExecuteCommand("...") 或3)处理冲突 with try/catch -但我想确定没有更好的方法。

    我知道这是一个非常基本的问题,但我找不到一个确切的答案。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Andrew Barber Eric Lafortune    14 年前

    return select

    Busy

    推荐文章