![]() |
VOOZH | about |
This article illustrates using LINQ to access tables within the NASA via the CData ADO.NET Data Provider for NASA. To achieve this, we will use LINQ to Entity Framework, which facilitates the generation of connections and can be seamlessly employed with any CData ADO.NET Data Providers to access data through LINQ.
See the help documentation for a guide to setting up an EF 6 project to use the provider.
Enter your data source connection information.
Most NASA API endpoints (APOD, NeoWS, DONKI, TechTransfer) require a NASA API key. Register for a free key at https://api.nasa.gov. The default DEMO_KEY provides limited access (30 requests/hour, 50 requests/day); a registered key allows 1,000 requests/hour.
The following endpoints do not require an API key and work without authentication: EONET (Earth Observatory Natural Event Tracker), EPIC (Earth Polychromatic Imaging Camera), NASA Image and Video Library, and TechPort.
After obtaining your API key, set the following connection properties:
Profile=C:\profiles\NASA.apip;AuthScheme=APIKey;APIKey=YOUR_NASA_API_KEY
Once the authentication is configured, you can connect to NASA and query data from any of the available tables such as AstronomyPictureOfDay, NearEarthObjectFeed, EonetEvents, and NasaImageLibrary.
Below is a typical connection string:
Profile=C:\profiles\NASA.apip;AuthScheme=APIKey;APIKey=YOUR_NASA_API_KEY
Using the entity you created, you can now perform select commands. For example:
APIEntities context = new APIEntities();
var astronomypictureofdayQuery = from astronomypictureofday in context.AstronomyPictureOfDay
select astronomypictureofday;
foreach (var result in astronomypictureofdayQuery) {
Console.WriteLine("{0} {1} ", result.Id, result.);
}
See "LINQ and Entity Framework" chapter in the help documentation for example queries of the supported LINQ.
Connect to live data from NASA with the API Driver
Connect to NASA