WCF provides a lot of functionality, but at the cost of insane configuration settings. Crazy. It includes the definition of "ABC", "Address, Binding", "Contract". I always tell people "with WCF: its configuration, not the code." There are only ~ so many options to configure it.
If you need to push / pull small amounts of data into the "clients" (browser, android, iphone), then WebApi will be the best option.
One of the functions, WebApi will provide you with xml OR json how to configure the request (in the header).
With WCF, you need to βencodeβ either / or / both for json and xml, and this is not super trivial. Aka, you have to put the attributes in Service-Methods ("Contract" ABC) to say "this method will send xml back" or "this method will send json back".
Your WebApi level will provide services. This usually means providing json data or using json data. And MS took care of the "plumbing" for you, so that on the part of the services, this happens automatically-magically.
I coded both from 2005 (well, WCF in 2005 onwards, and then later with WebApi).
WebApi is much easier to handle, especially for beginners.
Therefore, if you have no specific reason to use WCF, I would use WebApi.
As for ORM, this happens entirely on the server side, so you can choose the one you want. I would choose Poco / Code-First / Entity-Framework or NHibernate.
Below is a small explanation of the motorway ... where you don't parse json on the SERVER side.
http://encosia.com/using-jquery-to-post-frombody-parameters-to-web-api/
and here
http://encosia.com/rest-vs-rpc-in-asp-net-web-api-who-cares-it-does-both/
Beyond my opinion here, here is a Microsoft comparative article:
https://msdn.microsoft.com/en-us/library/jj823172.aspx
and quote:
Use WCF to create reliable and secure web services available for different modes of transport. Use the ASP.NET Web API to create HTTP-based services available from a wide range of clients. Use the ASP.NET Web API if you are creating and developing new services such as REST. Although WCF provides some support for writing services such as REST, the REST support in the ASP.NET Web API is more complete, and all future REST improvements will be made in the ASP.NET Web API. If you have an existing WCF service and want to open additional REST endpoints, use WCF and WebHttpBinding.