IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.
Avatar
Luboš Hnědý:9.5.2019 12:20

Zdravím mám jeden dotaz. Pracuji v .net core a používám ef. Mám napsaný svůj malý framework, kde používám context k db. Řekněme, že mám jinou aplikaci, kde mám context k db. A pokud potřebuji použít nějaké funkce z frameworku v aplikaci, tak musím registrovat i frameworkový context. Mě to v zásadě nedělá problém. Zajímalo by mě zda to nějak nerozbíjí nějakou logiku nebo něco jiného. Můžu si to udělat pomocí rozhraní, ale ptám se i dost ze zvědavosti. U čeho mám celkem strach a nebyl bych za to moc rád jsou transakce - https://docs.microsoft.com/…transactions. Tam se to totiž vztahuje k jednomu kontextu že? A nejde mi jenom o ten context, ale obecně zdaj e to správný přístup, protože si nejsem jistý
Příklad: Chci si pomocí frmaeworku uložit do DB obrázky a pomocí aplikace daný záznam, když tohle dám do transakce, tak to asi neprojde že?

Předem moc děkuji za info! či jakoukoli radu

Zkusil jsem: Zkoušel jsem hledat na stackoverflow a tady, ale nenašel jsem přesně to co potřebuju

Chci docílit: Správně navrhnuté funkčnosti

 
Odpovědět
9.5.2019 12:20
Avatar
Odpovídá na Luboš Hnědý
Luboš Hnědý:10.5.2019 17:26

Věděl by prosím někdo?

 
Nahoru Odpovědět
10.5.2019 17:26
Avatar
JerryM
Člen
Avatar
JerryM:11.5.2019 6:33

no ... tady neni žádný problém, EF normálně jako knihovnu nainstaluješ na cílový počítač. Ukládání velkých obrázků do databáze se dělá tak, že uložíš jen odkaz a obrázek dáš jinam, ale oficiálně třeba MS říká, že to de, ale nikdo to nedělá. Malé obrázky jako náhledy se do DB běžně ukláídají. Já jenom nechápu proč je tak atraktivní EF když stejně musíš definovat třídy parametrů... můžeš přeci použít přímo MS SQL a volat funkce SQL z programovacího jazyka...

 
Nahoru Odpovědět
11.5.2019 6:33
Avatar
xpoproci
Člen
Avatar
xpoproci:11.5.2019 8:14

skús sa pozrieť na TransactionScope, ten podporuje aj vnorené transakcie, čo je ak som pochopil to čo chceš docieliť. Používa sa to asi takto

using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
{
  //your db access
  scope.Complete();
}

len pozor na verziu .net coru. odporúčam to používať iba s najnovším releasom, lebo v 2.1 to nefungovalo dobre.

Editováno 11.5.2019 8:15
Nahoru Odpovědět
11.5.2019 8:14
Motto
Avatar
Odpovídá na xpoproci
Luboš Hnědý:11.5.2019 10:48

JerryM nevím zda si pochopil o co mi de? Já vím jak ukládat obrázky.
xpoproci to c osi poslal ty vypadá fakt dost zajímavě! Díky
Používám .net core 2.2, takže by to mělo být v pohodě. Takže můžu udělat něco jako

using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
{
  // Uložím obrázky
  framework.Save(); //UnityOfWork - uložím do dob
  // Uložím záznam
  projekt.Save();
  scope.Complete();
}

Koukám i do dokumentace a vypadá to fkt dobře díky :) A není to proti ničemu? mít v db dva ty contexty?

 
Nahoru Odpovědět
11.5.2019 10:48
Avatar
xpoproci
Člen
Avatar
xpoproci:11.5.2019 14:29

Minimálne za pokus nič nedáš. :-) daj potom vedieť ako to dopadlo.

Nahoru Odpovědět
11.5.2019 14:29
Motto
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 6 zpráv z 6.