SingleOrDefault是否在数据库和内存中查找?

时间:2018-02-21 19:21:55

标签: entity-framework linq

假设表“Items”为空,然后执行以下代码:

 var codes = new List<string>{ "aaa", "aaa" }

 foreach (var code in codes) 
 {
    var item = dbContext.Items.SingleOrDefault(r => r.Code.Equals(code)); // (*)

    if (item == null) 
    {
        item = new Item();
        item.code = code;

        dbContext.Items.Add(item);
    }
 }

 dbContext.SaveChanges();

问题:

结果表“Items”将包含两个“aaa”项或只包含一个?

那就是:在第二次迭代中,SingleOrDefault查询(*)将在内存和数据库中搜索?或仅在db?

0 个答案:

没有答案