title: EF: Update without Select with condition
body: <p>I'd like to update a record in a db by Entity Framework Core by using one SQL UPDATE call only with a condition saying the record is not deleted.</p>
  
  <p>This code represents what I want to do, but invoke 2 db calls (select+update):</p>
  
  <pre><code>  var book = await context.Books.Where(b =&gt; b.Id == bookId &amp;&amp; !m.Deleted).FirstOrDefaultAsync();
    if (usr == null) return null;
  
    book.ReturnDate = DateTime.Now;
  
    await context.SaveChangesAsync();
  </code></pre>
  
  <p>This code is better: only one db call, but does not include the !m.Deleted condition (and null check?).</p>
  
  <pre><code>  var book = new Book() {
        Id = bookId,
        ReturnDate = DateTime.Now
    };
  
    this.context.Books.Attach(book);
    this.context.Entry(book).Property(p =&gt; p.ReturnDate).IsModified = true;
    await context.SaveChangesAsync();
  </code></pre>
  
  <p>How is it possible to write it in EF Core, so it would generate just one UPDATE call? Something like this one:</p>
  
  <pre><code>UPDATE Books SET ReturnDate = GetDate() WHERE Id = BookId AND Deleted = 0
  </code></pre>