The typical scenario, on which every tutorial and walkthrough seems to advise, is to create an External Content Type with ReadList, ReadItem, Create, Update methods and then create an External List to provide access to the underlying system. This is relatively simple to achieve.

I have a source system in which the ReadList operation isn't an option - instead a user will enter an identifier and I need to validate or query the source system for that identifier. This is simple to do outside of SharePoint, but I cannot find any guidance on doing this within SharePoint without creating an External List.

My workaround at the moment is to create an External List with a trivial ReadList method (returning an empty list). The list will be useless, but I expect I'll be able to query the list for a known identifier in order to execute the underlying query.

I don't like this approach because I have a useless list in my site. Is there a better way to do this? Can I query the External Content Type without having an External List? Should I continue with the workaround above?

  • I'm not sure how you'll use this, but have you looked at External Data Column? Maybe that would suit your needs Mar 4, 2013 at 10:10

1 Answer 1


You can create a custom webpart where you can query your external list using CAML.

There is already a question how to pass parameter to ReadList function to return filtered items, in your case you can pass identifier entered by user as the required parameter. You just have to create FilterDescriptor when creating external CT/List.

Source: CAML and External List - pass parameter to ReadList (finder) method

  • Thanks. So this means I don't need to provide a ReadList() (ie parameterless) list method? That's just about what I need. Mar 13, 2013 at 22:39
  • I'm not sure about this but you should be fine with ReadItem operation
    – luccio
    Mar 15, 2013 at 13:12
  • 1
    Kirk,as Luccio said you can create Finder method with Parameter lets say GetUserByID which return User Entity and then using Object model for BCS you can pass parameters to this method and get datatable in return.
    – Ronak
    Mar 18, 2013 at 17:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.