Basically, all entity objects are controlled by the context of the object, which serves as change tracking. The idea here is that the entities themselves are unthinkable in their environment, but the context of the object knows what is happening.
This is the inverse of the DataSet model, in which tables track their own changes.
Thus, objects are added directly to the context of an object and its collection of entities. Here you created an EntityCollection that is not related to the context of the object and therefore cannot add other objects to them. First they must be attached to the object.
Indeed, you probably want to return an IQueryable instead of an IList. This will allow you to execute queries on the results of methodcall() .
source share