Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
RevEng: Strive for reusing common annotations and metadata APIs #2714
Our reverse engineering pipeline uses an IModel that is not bound to CLR types as a representation at various stages, including the model that is passed to the final code generation stage.
Note that IModels that are not bound to CLR types aren't full fidelity with all the capabilities of EF, e.g. per see #2140 it is not possible to represent unbound navigation properties. However, we should strive to reuse all the capabilities that are first class when we can, e.g. favor general purpose well-known annotations vs. reverse engineering-specific annotations for things like table names and column names, column types, and produce/consume the annotation through the strongly typed APIs we have created for that purpose, etc.