Skip to content

feature: Enable full EF Core FunctionalTests suite for EFCore.Ydb provider #573

@KirillKurdyukov

Description

@KirillKurdyukov

Feature Request

Describe the Feature Request

In the EFCore.Ydb project, only a subset of the EF Core FunctionalTests is currently enabled and executed.

Many functional tests from the EF Core provider test suite are either:

  • not included in the test builds for EFCore.Ydb, or
  • excluded/disabled via conditional compilation, filters, or test base configuration.

As a result, the YDB EF Core provider is not being validated against the full set of EF Core functional tests, which increases the risk of regressions and untested behavior differences compared to other EF Core providers.

Describe Preferred Solution

  • The EFCore.Ydb provider should run (as much as possible) the same FunctionalTests as other EF Core relational providers.
  • All relevant EF Core FunctionalTests should be:
    • included in the EFCore.Ydb test project,
    • configured to run against YDB (where semantically applicable),
    • either passing, or explicitly skipped with a clear reason.

It is important to separate:

  1. Limitations of the EFCore.Ydb provider implementation
    – things that can/should be fixed in the provider itself.

  2. Limitations of the YDB server / YQL engine
    – things that are not supported (or only partially supported) by the server and therefore cannot be implemented purely on the provider side.

For the second category, it would be good to:

  • keep such tests present but marked with [Skip] / [Fact(Skip = "...")], and
  • document in the test skip reason (and/or in a central place) that this is a YDB server limitation, not a provider bug.

Related Code

  • EFCore.Ydb functional tests (exact path may vary):
    src/EFCore.Ydb/test/EntityFrameworkCore.Ydb.FunctionalTests/

If the feature request is approved, would you be willing to submit a PR?
Yes

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions