Zespół, mam aplikację ASP.NET MVC, którą wdrażam. Kiedy go wdrażam, aplikacja działa dobrze, ale kiedy zadzwonię pod numer Membership.CreateUser
, kończy się ona próbą utworzenia bazy danych, nawet jeśli już istnieje. Co muszę zrobić, aby go pobrać, aby nie próbował wywoływać CreateMembershipEntities
, ponieważ baza danych już istnieje?Inicjalizacja bazy danych zatrzymania EF dla DefaultMembershipProvider
Próbowałem Database.SetInitializer
do inicjatora, który nie robi nic, Próbowałem usunąć defaultConnectionFactory
w Web.config - Obecnie jestem poza opcjami.
Oczekuję Twojej pomocy!
UPDATE
Właśnie dowiedziałem się wczoraj, że przyczyną tego, że stara się stworzyć bazę dlatego serwery gospodarze nie pozwalają na podłączenie do kwerendy sysdatabases
a więc baza nigdy istnieje i stąd zawsze próbując go stworzyć. Wygląda na to, że być może będę musiał wrócić do starszego dostawcy ASPNet, a także odejść od pierwszego modelu kodu EF.
<rant>
Na bardziej osobistą uwagę chciałem poinformować Microsoft, dziękuję za nic! Ten pierwszy model kodu działa dobrze z aplikacjami, które są wdrażane na serwerach, które posiadasz - ale umieszczaj je w chmurze (i tam gdzie wszystko idzie tak czy inaczej) i masz pecha. Świetna robota Microsoft! Dlaczego po prostu nie spróbować po prostu połączyć się z bazą danych, aby sprawdzić, czy istnieje?!? Jeśli połączenie się powiedzie, musi istnieć - w przeciwnym razie, chyba nie. </rant>
"* Próbowałem DatabaseSetInitializer do inicjalizatora, który nie robi nic *": Normalnym sposobem wyłączenia inicjalizacji DB jest ustawienie inicjalizatora na 'null', czyli' Database.SetInitializer (null) '. Ale nie mam pojęcia, co to EF ma wspólnego z ASP.NET MembershipProvider, który używa procedury składowanej i własnych połączeń (chyba że jakoś dostosowałeś dostawcę). Byłbym zaskoczony, gdyby ustawienie inicjalizatora na 'null' rozwiązało problem. –
Slauma
@Slauma Problem, który mam, polega na tym, że próbuje utworzyć tabele członkostwa, gdy już istnieją w produkcyjnej bazie danych. Nie mam dostępu do DROP i CREATE bazy danych na serwerze produkcyjnym. Jeszcze jedną rzeczą wartą odnotowania jest to, że serwerem produkcyjnym jest GoDaddy, a dostawcą członkostwa, którego używam, jest DefaultMembershipProvider, który konfiguruje w nowej aplikacji ASP.NET MVC 4. Działa świetnie na moim polu rozwojowym. –