NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Maros2470
Člen
Avatar
Maros2470:14.5.2017 8:53

Zdravím.

Mám dotaz. Je výhodnější využívat u aplikací s databází Entity Faremework, nebo NHibernate?

A dále, nemáte někdo odkaz na tutorial, nebo něco podobného k NHibernate?

Díky

 
Odpovědět
14.5.2017 8:53
Avatar
Odpovídá na Maros2470
Marian Benčat:15.5.2017 10:11

Na to se nedá odpovědět :-) Projekt od projektu ;-) Maximálně bych mohl říct, že EF Core >NHibernate

Editováno 15.5.2017 10:11
Nahoru Odpovědět
15.5.2017 10:11
Totalitní admini..
Avatar
Maros2470
Člen
Avatar
Odpovídá na Marian Benčat
Maros2470:15.5.2017 11:04

Mi se jedná v aplikaci o to, že budu muset na základě tříd a kolekcí dynamicky vytvářet databázové soubory a kopírovat, vyjímat a vkládat data mezi těmito databázovými soubory. Co bys mi poradil?

 
Nahoru Odpovědět
15.5.2017 11:04
Avatar
Marian Benčat:15.5.2017 13:55

Co je mysleno temi databázovými soubory? Jinak.. nemyslim si, ze jak EF, či Hibernate umí za běhu vytvářet mapování na dynamicky přidávané tabulky a efektivně to pak používat.

Takhle na sucho zní to zadání tak specificky, že bych po ORM nešáhl z několika důvodů a to znám EF opravdu do hloubky bych řekl.

Nahoru Odpovědět
15.5.2017 13:55
Totalitní admini..
Avatar
Maros2470
Člen
Avatar
Odpovídá na Marian Benčat
Maros2470:15.5.2017 16:01

Jde o to, že mám originál program, který úplně nesplňuje mé požadavky a tak si chci vytvořit něco podobného s úpravami, které bych tam potřeboval. Ten program (zjednodušeně) funguje tak, že pokud zvolím nový soubor vytvoří se nový databázový soubor sdf a v okně se vytvoří v TabControl nový Tab item. Struktura databázových souborů je stejná stejně jako TabItem, jen se mění vkládaná data. Je tam možnost kopírování dat z jednoho databázového souboru do jiného. Tedy Customer do Customers a pod. Tento program využívá NHibernate. Dekódoval jsem si je v JetBrains dotPeek, abych viděl strukturu.

Proto jsem se ptal zda NHibernate nebo EF.

Možná by bylo i řešení ukládat data do XML, ale je jich celkem dost. Jen v Originálu mám cca 80000 položek a u každé jsou desítky dalších. Jedná se totiž o revize spotřebičů a tak je tam dost údajů.

Můžeš poradit jak na to?

 
Nahoru Odpovědět
15.5.2017 16:01
Avatar
Marian Benčat:16.5.2017 16:59

Jo aha. Takže jde o to, že máš více databází, jestli to správně chápu,.. to by neměl být problém ani v jednom. Pujde o prohazování ConnectionStringu s tím, že můžeš nechat dát generovat ten soubor tím ORMkem, jako CodeFirst s not-nullable initializerem.

To by měly zvládnout oba ORM.

Nahoru Odpovědět
16.5.2017 16:59
Totalitní admini..
Avatar
Maros2470
Člen
Avatar
Odpovídá na Marian Benčat
Maros2470:16.5.2017 17:16

O to se právě snažím, jen mám problém s ConectionString. Řetězec vyžaduje static string, takže nevím jak docílit toho, abych string DataName měnil.

public static string DataFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Eli-Revize1\\" + DataName + ",sdf" );
 
Nahoru Odpovědět
16.5.2017 17:16
Avatar
Marian Benčat:17.5.2017 12:49

To si nemyslim, ze vyzaduje static string. Resp. možný tvůj kód, ale EF určitě ne... však je běžný, že se tam injectuje z IOC containeru..

JEstli tůvj kód vyžaduje statický string, tak jsi nahraný.. Koukni se, jestli třeba ta třída co to vyžaduje nejde třeba podědit a pak injectnout výše..

Nahoru Odpovědět
17.5.2017 12:49
Totalitní admini..
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.