Internships
Register
Copyright © 2000—2025 JetBrains s.r.o.

Валидация модели и миграций данных Entity Framework

Description

ReSharper - плагин для повышения продуктивности разработки на .NET в Visual Studio, включающий в себя средства статического анализа для поиска ошибок и проблем в исходном коде.

Rider - новая кроссплатформенная IDE для .NET, которая использует ReSharper в качестве бэкенда.

Типичный проект на .NET - это бэкенд web или enterprise приложений, использующий РСУБД в качестве основного хранилища данных и фреймворк Entity Framework или Entity Framework Core в качестве слоя доступа к данным. Схема данных при использовании этого фреймворка описывается с помощью классов-сущностей, размеченных специальными аннотациями, и с помощью специальных API.

Проблема в том, что многие возможные проблемы в схеме данных не проявляются до запуска приложения, а саму схему хоть и очень удобно описывать, но неудобно анализировать.

В этом проекте мы:

  • научим ReSharper читать настроенную модель данных из кода (частично мы уже умеем это делать);
  • научим ReSharper строить и показывать пользователю ER-диаграмму данных для удобства анализа;
  • разработаем анализы для поиска и исправления типичных проблем в модели данных: неправильно настроенные отношения, циклические зависимости, использование неправильных типов, и т. д.
  • научим ReSharper валидировать миграции данных на соответствие текущей модели данных.

Не стесняйтесь задавать вопросы:

  • в telegram: @retran
  • на e-mail: andrew.vasilyev@jetbrains.com
  • в twitter: @retran

Requirements

Для работы над проектом понадобятся:

  • C#;
  • алгоритмы и структуры данных.

А еще желание разобраться как устроены и работают:

  • реляционные базы данных, SQL и реляционная алгебра;
  • статический анализ, синтаксические деревья, control flow и data flow анализы.

Admission

Разработчики: Лето 2021

Mentor

Alexander Petrovsky, Alexander Ulitin, Andrew Vasilyev

Mentor's location

Remote

Product/Team

ReSharper

Tags

.NET
C#