Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: ASP.NET MVC, Autofac a DbContext v separátním dll

Aktivity
Avatar
Majkel
Člen
Avatar
Majkel:19.7.2017 17:30

Ahoj, řeším problém registrace Entity Frameworkových Contextů za pomoci Autofacu. Zjednodušeně vypadají vrstvy aplikace takto:

App.DAL

  • Entity Framework
  • DbContexty

App.BLL

  • Reference na App.DAL

App.Web

  • Reference na App.BLL
  • Autofac

Mám jeden hlavní DbContext (MainContext) a druhý DbContex (SettingsContext). MainContext obsahuje všechny tabulky a všechny FluentApi konfigurace. Slouží pro vytvoření a update databáze. SettingsContext obsahuje pouze vybrané tabulky a konfigurace. Oba kontexty dědí z DbContextBase, který obsahuje nastavení EF.

Problém mám s tím, že nevím, jak ty DbContexty v Autofacu resolvovat, abych nemusel referencovat DAL do Web projektu nebo instalovat Entity Framework jak do DAL tak do Web vrstvy. Díky za případné rady.

Editováno 19.7.2017 17:31
 
Odpovědět
19.7.2017 17:30
Avatar
Odpovídá na Majkel
Marian Benčat:19.7.2017 23:48

Musis abstrahovat dbcontext. Jinak to moc dobře nejde. Bohužel dbcontext neimplementuje žádný interface, takže si ho musíš vytvořit sám a implementovat ho ve vlastním kontextu, který navíc bude dědit efcontext

Nahoru Odpovědět
19.7.2017 23:48
Totalitní admini..
Avatar
Majkel
Člen
Avatar
Majkel:20.7.2017 9:23

Tak přemýšlím, že dalším problémem bude Microsoft.AspNet­.Identity.Enti­tyFramework. Stáhnul jsem pár vícevrstvých ukázkových projektů, které používají DI. Ale všechny měly EF nareferencovaný jak v DAL, tak MVC. Což je podle mě špatně.

 
Nahoru Odpovědět
20.7.2017 9:23
Avatar
Odpovídá na Majkel
Marian Benčat:20.7.2017 9:25

Protože to dělají špatně.. Jde to oddělit ale jednoduché to není.. Celý identity je navrzen dobre, ale je hodně pracne to správně rozdělit..

Nahoru Odpovědět
20.7.2017 9:25
Totalitní admini..
Avatar
Majkel
Člen
Avatar
Majkel:20.7.2017 9:40

A nebyl by odkaz na nějaký example projekt nebo text? Já našel jen projekty, které referencují DAL do MVC, a to pak nemá celý ten návrh smysl.

 
Nahoru Odpovědět
20.7.2017 9:40
Avatar
Daziko
Člen
Avatar
Odpovídá na Majkel
Daziko:20.7.2017 9:50

https://docs.microsoft.com/…net-identity
Toto vsetko musis naimplementovat aby si odstranil EF.

 
Nahoru Odpovědět
20.7.2017 9:50
Avatar
Daziko
Člen
Avatar
Odpovídá na Majkel
Daziko:20.7.2017 9:57

Tu som ti nasiel aj prakticku implementaciu toho mrkvosoft pamfletu.
http://timschreiber.com/…erns-part-1/

 
Nahoru Odpovědět
20.7.2017 9:57
Avatar
Majkel
Člen
Avatar
Odpovídá na Daziko
Majkel:20.7.2017 12:43

Tak teď už asi chápu, proč každý raději nareferencuje DAL do MVC :D Ach jo...

 
Nahoru Odpovědět
20.7.2017 12:43
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.