Flexberry / NewPlatform.Flexberry.ORM

Flexberry ORM source code
https://www.nuget.org/packages/NewPlatform.Flexberry.ORM/
MIT License
5 stars 11 forks source link

Более полная поддержка LINQ #38

Open bratchikov opened 5 years ago

bratchikov commented 5 years ago

Цель

Требуется проанализировать слабые места LINQProvider, найти методы, которые не поддерживаются, либо работают некорректно, реализовать тесты для них и выполнить поддержку обнаруженных неработающих методов.

Функциональные требования

  1. Выяснить, какие методы интерфейса IQueryable поддерживаются на данный момент в нашем LINQProvider, а какие - нет.
  2. Реализовать тесты для полного покрытия методов IQueryable в нашем LINQProvider- проверяем, что всё работает корректно.
  3. Под те тесты, которые не работают - дорабатываем LINQProvider.

Требования к реализации

Используем методику TDD - тесты вперёд.

Исходный код

Ветку с изменениями делаем от develop.

Документация

Тесты

TeterinaSvetlana commented 5 years ago

Конкретное пожелание к реализации:

Вызывается: IDataService.Query().FirstOrDefault(x => x.__PrimaryKey.Equals(anotherObj)).

В этом случае возвращается DataObject со статусом Created. Желаемое поведение:

  • если объекта в БД нет, возвращается null
  • если объект в БД есть, возвращается UnAltered DataObject, в предметных полях которого заполнен только первичный ключ

Аналоги, примеры реализации

Форум: g=posts&m=13348#post13348