title: Map complex data access business logic with oData
body: <p>I have a table in DB and I want show/edit data with oData.
  I don't want simply expose rows with an EntitySet because my business logic add information to each field of each row:</p>
  
  <p>Example. I have in DB a table with 3 rows:</p>
  
  <pre><code>k   c1   c2   c3   c4
  ----------------------
  01  a    b    d    e
  02  f    g    h    i
  03  l    m    n    o
  04  p    q    r    s
  </code></pre>
  
  <p>UserA can:</p>
  
  <ul>
  <li>full control(Create-Read-Update-Delete) on each field (not modify-edit the key but can delete rows)</li>
  </ul>
  
  <p>UserB can:</p>
  
  <ul>
  <li>edit only 2nd row</li>
  </ul>
  
  <p>UserC can:</p>
  
  <ul>
  <li>Edit only m, n and r</li>
  </ul>
  
  <p><strong>How can I send this complexity using oData?</strong></p>
  
  <ol>
  <li>How can I recognize the user logged ? (a sessionId string in the header of http GET oData EntitySet?)</li>
  <li>In metadata can I expose different type of interaction with data?</li>
  <li>If I want specify a precise CRUD information (UserB) how can I pass informaions? (using complex type?)</li>
  </ol>
  
  <p>These are my questions. I like oData, particularly the full-descriptive concept of metadata, but it seems not marry with my complexity of data access. </p>