You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Issues for bugs and feature requests are welcome, but please check for an existing issue first.
6
+
- Include an example of the desired outcome.
7
+
8
+
## Contributing Code
9
+
10
+
- You must be the legal owner of your code and you must be willing to surrender it to this project's license.
11
+
- Code additions and changes should be the _absolute minimum required_ to achieve your goal.
12
+
- Formatting or style changes may only be combined with bug fixes or new features, and can only reformat the modified area.
13
+
- Introducing a new 3rd party dependency is not permitted.
14
+
15
+
If you make a PR that is rejected for any reason, but still has useful qualities, those changes might be extracted and integrated anyway.
16
+
To avoid this and ensure repository history associates your contributions to _you_, make sure your PR is in an acceptable state so it can be directly merged as-is.
@@ -55,11 +55,27 @@ sealed class SimulatedContext(Simulation simulation) : DbContext
55
55
}
56
56
```
57
57
58
-
## Capabilities
58
+
## Limitations
59
59
60
-
* Not much yet; working toward supporting the basic functionality of Entity Framework Core.
60
+
The feature set of this library is currently too small for use in real-world applications.
61
61
62
-
## Limitations
62
+
- Feature parity with SQL Server is less than 1%.
63
+
- No thread-safety or lock emulation.
64
+
- Syntax validation is prone to both false positives _and_ negatives due to limited feature support.
65
+
66
+
## Development Priorities
67
+
68
+
- The highest priority is improving SQL command processing enough to support all Entity Framework features, enabling the real-world use case of fast single-threaded unit testing of an Entity Framework-based app without requiring a SQL Server deployment.
69
+
70
+
The remaining priorities are so far below the EF compatibility goal that they won't be seriously started until it's done.
71
+
This project only has one main developer and that developer's time and motivation are limited, so an ETA is impossible.
63
72
64
-
* Doesn't support most SQL Server features, probably won't work for you in its current state. Feature parity is an ongoing challenge.
65
-
* Limited ability to check invalid syntax, since it generally assumes the source query is doing something not yet supported if it runs into trouble parsing.
73
+
- Thread-safe concurrency on a single simulation, enabling parallel unit testing.
- Unreliable connection simulation, to enable testing of application-side recovery/retry mechanisms.
76
+
- Support commonly-used non-Entity Framework features.
77
+
- Usage metrics, enabling test validation of proper techniques, such as avoiding looped queries or excessive parameter counts.
78
+
- Physical storage of data, enabling larger-than-RAM databases and faster initialization.
79
+
- Network protocol emulation, enabling applications to connect to the simulator as if it were a real SQL Server.
80
+
- This almost certainly would be a separate library as it introduces a variety of new network and cryptography dependencies compared to the core engine which has no dependencies outside of .NET itself.
81
+
- Following this would be work to enable compatibility with tools like SQL Server Management Studio.
0 commit comments