Persistance with DocumentDB - HenrikWM/NNUG_GAB2016 Wiki
These assignments use a
DocumentDBRepository<T>-class to persist our entities. Its purpose is to provide an API for Create, Read, Update and Delete operations.
It expects to have access to the following
appSettings keys provided in
HiddenAppSettings.config per API-project (where it's used). Create this config file in your project and base it on the
HiddenAppSettings.config.example-file with the following
- database: name of the database to contain our collections
collection: name of the collection to store entities of type
- endpoint: your DocumentDB service endpoint in Azure
- authKey: your access-key for performing operations against your database
database: enter a name for your DocumentDB database. Suggested name is:
collection: enter a name for your project's entity collection. If you're using
DocumentDBRepository<Employee> in your
GAB.Web.EmployeeRecords.Api-project, suggested collection name is:
Employees. Similarly for the reports and resource planning APIs, you should have a config in those projects as well and use collection names
The repository class will create the DocumentDB database and each collection for you when you first instantiate and use it.
Retrieving DocumentDB endpoint and authkey settings from the Azure portal
In this guide you will learn how to find and retrieve the
authkey setting values for your DocumentDB service in the Azure portal.
- Ensure you have a DocumentDB account. If not, learn how to create an account.
- Suggested naming convention for a DocumentDB account for these assignments:
nnug-gab2016-<your initials>-docdb. E.g.:
- Create a
HiddenAppSettings.config-file in your project in Visual Studio to store your secret appSettings. Your app.config or web.config should reference this file:
<appSettings file="HiddenAppSettings.config">. See the
Steps to retrieve settings
Log into the Azure Portal and click on the All resources menu item in the left menu.
Find your DocumentDB account in the All resources list (Type: DocumentDB Account) and click it.
Click on Settings on the top of the DocumentDB account blade and click on the Keys menu option in the blade that opens to the right.
Copy the value from the URI field into your endpoint appSetting in your
Copy the value from the PRIMARY KEY field into your authKey appSetting in your
Congratulations! You should now be able to use your
DocumentDBRepository<T>-class to persist entities to your DocumentDB account.
Verify setup after first-use
To verify that the database and collections are created, in the DocumentDB account blade click on your database. Verify that you can see your collections in the Database blade that opens to the right.