Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document Reverse Engineering at the conceptual level #508

Closed
ajcvickers opened this issue Oct 6, 2017 · 6 comments
Closed

Document Reverse Engineering at the conceptual level #508

ajcvickers opened this issue Oct 6, 2017 · 6 comments
Assignees
Milestone

Comments

@ajcvickers
Copy link
Contributor

Issue #506 is about how to use the command line tools, but we also need better documentation on why and how to use reverse engineering at the conceptual level.

@bricelam
Copy link
Contributor

I think Rowan's original intentions were to add a new node under EF Core with these sub-nodes:

  • Schema management
    • Migrations
    • Reverse engineering

I'll add it as part of #507

@bricelam
Copy link
Contributor

bricelam commented Apr 13, 2018

Note to documentor: don't forget to mention Name= and how it pairs well with user secrets,

@cccuscott
Copy link

I see this didn't make it into 2.1 release. I am currently transitioning our SaaS product to .netcore (Great work) but we are a heavy DB first/reverse engineer shop for our EF stuff. Is there a quick and dirty on disabling migrations and doing reverse engineering?

@ErikEJ
Copy link
Contributor

ErikEJ commented Jun 2, 2018

Have a look at EF Core Power Tools (I am the author) https://github.com/ErikEJ/EFCorePowerTools/wiki/Reverse-Engineering

@divega divega modified the milestones: 2.1.0, 2.2.0 Jul 10, 2018
@divega divega added the help wanted This issue involves technologies where we are not experts. Expert help would be appreciated. label Aug 1, 2018
@bricelam
Copy link
Contributor

bricelam commented Nov 7, 2018

Some ideas:

  • Connection strings
    • escaping in PS and command-line
    • from config/user secrets (Name=)
  • Provider name is NuGet package/assembly name
  • Specifying tables (--schema, --table)
  • Preserve database names (--use-database-names)
  • Directories and namespaces (--context-dir, --output-dir)
  • Context name (--context, defaults to database name)
  • What we reverse engineer
    • foreign key columns
    • Bi-directional navigations
    • All constraints (safe to remove some)
    • Sequences
  • What we don't reverse engineer
    • Inheritance
    • Table splitting/owned types
    • Concurrency tokens
    • Views/tables without PK--Query types (TODO)
    • Unsupported Column Types
  • Data Annotations or Fluent API
  • You can change it, but changes are blown away without update from database
  • Re-scaffolding (--force)

@bricelam bricelam assigned bricelam and unassigned smitpatel Nov 9, 2018
@bricelam
Copy link
Contributor

bricelam commented Nov 9, 2018

(Poaching this from @smitpatel)

@divega divega removed help wanted This issue involves technologies where we are not experts. Expert help would be appreciated. labels Nov 10, 2018
divega pushed a commit that referenced this issue Nov 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants