Diskuze: NHibernate
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Na to se nedá odpovědět Projekt od projektu Maximálně bych mohl říct, že EF Core >NHibernate
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?
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.
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?
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.
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" );
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..
Zobrazeno 8 zpráv z 8.