C# language and data access
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BI-CS2 | KZ | 4 | 0P+3C | Czech |
- Garant předmětu:
- Pavel Štěpán
- Lecturer:
- Tutor:
- Pavel Štěpán
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
The C# language and data access course objective is to introduce students several data access technologies - database, XML, NoSQL - on the Microsoft platform. The students will get to know objects used to retrieve data - Connection, Command, Data Reader and DataAdapter v ADO.NET. Next, they will learn to use current technologies such as LINQ - a set of features for querying and updating data, integrated directly with the .NET platform languages, which enable LINQ use with Objects, XML and SQL (LINQ to Objects, LINQ to XML and LINQ to SQL). Another objective is the Entity Framework - an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects (ORM). This part of the course introduces Code First, Database First, Model First approaches. The students will also get to know the Conceptual Model, Storage Model and Mapping (XML description).
- Requirements:
-
Students attending this course should already have gained experience using C# along with the basics of the object programming. The students should also know how to create SQL scripts and they should have experience with usage of a relational database. Knowledge of XML language is useful but not necessary.
- Syllabus of lectures:
- Syllabus of tutorials:
-
1. ADO.NET basics
- Data access basic principles
- Database interfaces basic principles (at MS) - (DAO, ADO, RDO, ...)
- SQL Server/others; .NET Data Providers
2. Data processing in connected mode
- Connection and Command objects
- Data input - DataReader object
- Data updating - using Command object
- Using Stored Procedures
- Transactions
3. Data processing in disconnected mode
- DataSet, DataTable and DataView objects
- Working with data using DataSet
- Data source connection - DataAdapters, TableAdapters
- DataAdapter and TableAdapter Commands
- DataSet relations and constraints
- Processing concurrency for multiuser access
- Database independent DataSet
- Data Binding
- Creating Data Bound Applications using visual technics
- BindingSource and BindingNavigator objects
- DataGridView object
4. LINQ (Language Integrated Query)
- Basic info about lambda expressions repetition
- LINQ - querying built directly into language constructions
- LINQ expressions syntax
- Using LINQ with object collections
- LINQ to XML
- LINQ to SQL
5. Entity Framework
- Entity data model
- Three basic strategies: DB First, Model First and Code First
- Creating data model based on database structures
- Working with model (using its objects)
- Concurrency processing
- Code First subvariants: Code First From DB and Code First From Objects
- Code first
- principles
- DbContext a DbSet classes
- Conventions
- DataAnnotations
- Fluent API
- DB Initialisation, zrušení inicializace
- Migration
6. NoSQL „databases“
- basic information concerning NoSQL
- MongoDB - most widespread NoSQL
- MongoDB installation
- MongoDB data structures
- Commands
- MongoDB drivers
- Creating program using MongoDB based on ADO.NET
- Creating program using MongoDB based on Entity Framework
- Study Objective:
- Study materials:
-
Source Materials:
Programmes developed in the course of the semester are considered to be the main study source.
- Note:
- Further information:
- https://moodle-vyuka.cvut.cz/course/search.php?search=BI-CS2
- Time-table for winter semester 2024/2025:
- Time-table is not available yet
- Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Bachelor program Informatics, unspecified branch, in Czech, 2015-2020 (elective course)
- Bachelor branch Security and Information Technology, in Czech, 2015-2020 (elective course)
- Bachelor branch Computer Science, in Czech, 2015-2020 (elective course)
- Bachelor branch Computer Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Information Systems and Management, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Software Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Web Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Computer Graphics, in Czech, 2015-2020 (elective course)
- Bachelor branch Knowledge Engineering, in Czech, 2018-2020 (elective course)
- Bachelor Specialization Information Security, in Czech, 2021 (elective course)
- Bachelor Specialization Management Informatics, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Engineering, in Czech, 2021 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2021 (elective course)
- Bachelor Specialization Web Engineering, in Czech, 2021 (elective course)
- Bachelor Specialization Artificial Intelligence, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Science, in Czech, 2021 (elective course)
- Bachelor Specialization Software Engineering, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2021 (elective course)
- Study plan for Ukrainian refugees (elective course)
- Bachelor Specialization Information Security, in Czech, 2024 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2024 (elective course)
- Bachelor Specialization Management Informatics, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2024 (elective course)
- Bachelor Specialization Software Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Web Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2024 (elective course)
- Bachelor Specialization Artificial Intelligence, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Science, in Czech, 20214 (elective course)