
Discover data access fundamentals with SQL and NoSQL databases, including MongoDB and a cache NoSQL store, using ADO.NET, EF, and Dapper to model customers and orders with CRUD.
Clone and set up the GitHub repository with dotnet core SDK and git, then configure Docker and Mongo, run scripts, and explore branches to answer questions.
Learn to access databases from dot net apps using ADO.NET concepts, including connected and disconnected objects, perform insert, select, joins, update, delete, and manage transactions with sqlite and postgres.
Connects to a SQLite database with ADO.NET, opens a connection, creates a command for 'select count(*) from customers', executes scalar, and prints the result to the console.
Execute a simple select in PostgreSQL by building a connection string and running a command; refactor to a single db connection method supporting PostgreSQL and SQL Server providers via adapters.
Learn to use parameters with a generic parameter method to safely build command parameters, read data, and prepare for insert, update, and delete operations.
Explore update and delete statements with ADO.NET, verify affected rows, and synchronize Postgres databases using targeted selects.
Use a data adapter to execute a select against the customer table and fill a data set in memory. Iterate over the resulting data rows to print last names.
Explore .NET data access with connected objects like connection, command, and data adapter, and an in-memory dataset; perform crud with parameterized sql and transactions, and preview Entity Framework and database-first.
Learn about EF core. If you come this far, and want to learn all there is about EF core, then simply send me a DM stating your interest in EF Core and I will make sure that you get a coupon to my EF core course for free.
Learn to use Entity Framework Core in a database-first workflow by scaffolding a DbContext and entity models from a PostgreSQL database, then perform basic CRUD operations.
Use raw SQL with Entity Framework to execute custom queries and map results to your entity properties, enabling direct object filling and performance optimizations.
Use dapper to run a select on customers through an aDO.NET connection and map results to a customer class. Compare dapper's lightweight mapping to EF-style entities and extension methods.
Learn to perform an inner join with Dapper to map a one-to-many relationship between customers and orders, using a map keyed by customer id and split on id.
Learn insert, update, and delete operations with Dapper using connection extension methods and anonymous objects. Practice insert many and update with where clauses, then delete by last name.
Delve into Dapper by showing how data readouts map to strongly typed properties, align column names with your fields, and explore parameter types, query types, and projection.
Learn to use lists as parameters in Dapper with anonymous objects for single and bulk inserts, execute insert statements, project and update items, and verify results across databases.
Explore how dynamic parameters in Dapper control input and output directions, declare names and types, and apply extension methods for select, insert, and store procedures.
Introduce NoSQL database types, with a focus on Mongo as a document database and key-value store, including collections, CRUD, and a JavaScript-based query language.
Learn to read documents from a MongoDB collection and insert many documents using the C# MongoDB driver, including using BsonDocument and dictionary representations for schema-less data.
Connect to a MongoDB database and delete documents with a delete many filter, noting case-sensitive text matching; then drop the customers collection and the database.
Discover Redis as a NoSQL key-value store optimized for caching, supporting strings, lists, sets, hashes, and pub/sub, with key expiry, clustering, and master-slave replication.
Connect to a Redis docker container and perform create, read, update, and delete operations using dot net, exploring strings, lists, sets, hashes, and JSON values with expire and key queries.
Connect to Redis, create a customer object with orders, and store it as a JSON string using string set; retrieve it with string get and print the result.
Learn to update and delete Redis data using a customer key and JSON objects: retrieve, modify orders, save with set, verify updates, and remove keys.
Encapsulate queries with the query object pattern to return entities and hide database access from the application. Implement a generic query interface with backends and a factory for swapping implementations.
Explore the query object pattern implemented with dapper and entity framework. Build a generic factory and query interface to execute customer queries across postgres and mongo.
Explore how entity framework and the repository pattern complement each other, enabling a flexible data access strategy with unit of work, testing, and database independence.
Set up a SQLite database for the course by creating customers and orders tables with a foreign key, inserting sample data, and illustrating an inner join to show table relationships.
Set up a postgres database in a docker container, exposing ports, and configuring a container name, user, and database, then connect with a local host connection string.
Master essential SQL statements for data access, including select, insert, update, delete, inner join, and count, with customers and orders and basic where clauses.
Connect to a local MongoDB NoSQL server, create the customers collection, insert documents, update and delete records, and explore implicit schema and flexible document structure.
Explore the .net basics of io through streams, covering backing stores like file, memory, network streams, and adapters for reading and writing bytes sequentially with encryption and compression.
Explore serialization and deserialization, converting an in-memory object graph to bytes for storage or transmission and back. Cover implicit and explicit serialization in .NET and json and xml formats.
One of the most important aspects of working effectively with any application is accessing and storing the persistent data.
There is no application without data, be it SQL, NoSQL or any other form of a persistent data store.
For all of them the fundamental concepts are similar.
In this course we are going to explore the CRUD operations for different styles and with different technologies.
You will get an insight into all of the following data access technologies and how they are structured:
SQL Databases with Sqlite and PostgreSQL
ADO.NET
Entity Framework
Dapper
NoSQL
MongoDb withMongoDb Driver
Redis StackExchangeRedis
Also:
Refresh basic Knowledge on SQL
Setup postgres and redis in docker containers
learn how to store data in MongoDb works essentially
SQL vs NoSQL, when is which appropriate?
Enrolling in this course will boost your productivity and the understanding of how to access any data storage you might encounter. In the end it is all about the information you can store and retrieve.
You should be familiar with .NET in general and C# in particular. You need not to be an expert, but you should be somewhat comfortable with reading code written in dotnet core.
Now have fun and enjoy the course!