实体框架 - 解释我的代码

时间:2015-03-08 18:21:29

标签: c# entity-framework-6 updatemodel

这是对此代码的作用的正确理解 - 这是更新URLPath url IsInProcessing行的正确方法,以便true列为{{ 1}}?

我还没有尝试过这段代码。在此之前,我想尝试理解它!它是从各种来源拼凑而成的。

代码:

using(var db = new DamoclesEntities())
{
    var urls = db.URLS;
    var result = urls.FirstOrDefault(u => u.URLPath == url);
    result.IsInProcessingQueue = true;
    db.SaveChanges();
}
  1. 我认为这里发生的事情是在使用我将DamoclesEntities()类实例化为var db
  2. 然后我将db.URLS(类/表)实例化为var urls
  3. 然后,我找到URLPath(列)包含url的第一行,该行已分配给result
  4. 我将该行IsInProcessingQueue(列值)更改为true;
  5. 最后,我将更改保存到数据库中。

1 个答案:

答案 0 :(得分:1)

几乎是正确的,但请记住,如果没有找到符合指定条件的行,{1},FirstOrDefault将返回null值。

因此,在这种情况下,下一行将产生NullReferenceException。

只需添加URLPath == url的空格检查即可result