Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

EF Code zuerst, wie kann man denselben Tabellennamen mit unterschiedlichem Schema registrieren?

Ihre Klassen müssen einen anderen Namen haben oder Sie müssen für jedes Schema einen separaten Kontext verwenden.

Der Grund dafür ist das intern verwendete EDM-Modell. Selbst wenn Sie Code-First verwenden, wird immer noch ein EDM-Modell erstellt, und es muss alle seine Einschränkungen und die Art und Weise befolgen, wie POCO-Klassen mit im CSDL-Modell definierten Entitäten abgeglichen werden. Entitäten aus EDM sind und POCO-Klassen werden nach Klassennamen abgeglichen (ohne Namespaces). Aus diesem Grund muss jeder im selben Kontext abgebildete Klassenname eindeutig sein und ein unterschiedlicher Namensraum macht ihn nicht zu einem anderen Klassennamen.