Mam problemy z uzyskaniem scenariusza simplemembership działającego w moim projekcie EntityFramework/MVC4/DatabaseFirst. Znalazłem mnóstwo przykładów do pracy z kodem jako pierwszym, ale nic z DB.SimpleMembershipInitializer nie zainicjuje
Problem mam napotykając jest The InitializeDatabaseConnection rzuca błąd ("Nie można odnaleźć żądanej Provider .Net Framework danych, które mogą nie być zainstalowane."). Kod wygląda następująco:
WebSecurity.InitializeDatabaseConnection("DALEntities", "tblContacts1", "ContactID", "EMail", autoCreateTables: true);
Nie jestem pewien, co się dzieje z DataProvider. Jeśli spróbuję wyśledzić "do" wywołania InitializeDatabaseConnection, natychmiast zgłasza błąd.
Czego mi brakuje?
Informacje:
Dalentities to nazwa zestawu połączenia, którego używa reszta EF. Poniższy kod działa dobrze ....
public ActionResult Test() {
using (var db = new DALEntities()) {
var query = from i in db.TBLINVENTORies
orderby i.ITEMNAME
select i;
var cnt = query.Count();
string str = "Total Inventory: " + cnt;
return Content(str);
}
}
Moja sekcja ciągów połączenia z web.config:
<connectionStrings>
<add name="DALEntities" connectionString="metadata=res://*/DAL.DAL.csdl|res://*/DAL.DAL.ssdl|res://*/DAL.DAL.msl;provider=System.Data.SqlClient;provider connection string="data source=SOMECOMPUTER;initial catalog=SOMEDB;persist security info=True;user id=SOMEID;password=SOMEPASS;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
Ten post wydaje się być pytaniem samo pytanie (ale w kontekście model- pierwszy), ale nie ma jeszcze rozwiązania: Using SimpleMembership with EF model-first
Widzę również, że istnieje przeciążenie dla WebSecurity.InitializeDatabaseConnection()
z tekstem pomocy: Initializes the membership system ((blah blah <snip> ProviderName: the name of the ADO.NET data provider. If you want to use Microsoft SQL Server, the WebMatrix.WebData.WebSecurity.InitializeDatabaseConnection(String, String, String, String, Boolean) overload is recommended
. I do chcesz połączyć się z serwerem MSSQL ... czy będzie to wymagane?
moje projekty nie lubiły używać ciągu połączenia EF. zamiast tego musiałem dodać drugi ciąg połączenia, który był ciągiem połączenia SQL (lub sql compact). Nie grałem z tym zbyt dużo, aby ktoś mógł mieć lepszy pomysł. – Eonasdan
Warto spróbować ... ale na pewno czuję się jak krótkoterminowe obejście ... – reidLinden
Tak, to pomogło ominąć błąd, ale ja nie Myślę, że to chyba dobry pomysł, aby połączyć się z moją bazą danych EF bez korzyści płynących z EF ...? – reidLinden