title: Olingo: EntityContainer and EntitySets differences
body: <p>I'm reading this <a href="https://olingo.apache.org/doc/odata4/tutorials/read/tutorial_read.html" rel="nofollow noreferrer">documentation</a> in order to figure out how to create an odata service.</p>
  
  <p>I don't quite figure out what are <code>EntityContainer</code> and <code>EntitySet</code> for... </p>
  
  <p><strong>[EDIT]</strong></p>
  
  <p>I'd like to ask for a misunderstanding I don't quite figure out yet. If a <code>EntitySet</code> straightforwardly is a set of entities:</p>
  
  <p>Why do I need to implement a <code>EntitySet CsdlAbstractEdmProvider.getEntitySet()</code> method on my OData provider? As you can see on <a href="http://olingo.apache.org/doc/odata4/tutorials/read/tutorial_read.html#413-implement-the-required-methods" rel="nofollow noreferrer">here</a> I need to implement this method that returns an <code>EntitySet</code>. This is the implementation on Olingo documentation:</p>
  
  <pre><code>public CsdlEntitySet getEntitySet(FullQualifiedName entityContainer, String entitySetName) {
  
    if(entityContainer.equals(CONTAINER)){
      if(entitySetName.equals(ES_PRODUCTS_NAME)){
        CsdlEntitySet entitySet = new CsdlEntitySet();
        entitySet.setName(ES_PRODUCTS_NAME);
        entitySet.setType(ET_PRODUCT_FQN);
  
        return entitySet;
      }
    }
  
    return null;
  }
  </code></pre>
  
  <p>I don't quite figure out what's this implementation for.</p>
  
  <p>By other hand, on <code>EntityCollectionProcessor</code> <a href="http://olingo.apache.org/doc/odata4/tutorials/read/tutorial_read.html#422-create-class" rel="nofollow noreferrer">documentation implementation</a> you can see they are using <code>EntitySet</code> as well.</p>
  
  <p>I don't understand which are the differences between both <code>EntitySet</code> inside a Provider and inside Processor.</p>
  
  <p>I don't know if I've explained so well</p>