ADO.NET entiteiten en LINQ

Ik heb een ASP.NET MVC project gemaakt als frontend en een ASP.NET WEB API 2 project als backend. Het opstarten van dit project duurde erg lang en alle calls naar de backend zat behoorlijk wat vertraging in. Wat was de reden? Mijn manier van data opvragen deed ik niet goed.

Mijn foute manier was:

var iqueryable = from x in db.Tabelnaam select x;
foreach (var item in iqueryable)
{
    // hier deed ik iets met 'item'
}

Waarom? Omdat blijkbaar de eerste regel gelijk staat aan var iqueryable = db.Tabelnaam; en daarnaast roept de foreach telkens de database aan omdat het iqueryable-object direct aan de database gekoppeld is. Geen wonder dat het zo traag was.

Hoe moet het wel?

De goede manier is:

var iqueryable = (from x in db.Tabelnaam select x).ToList();
foreach (var item in iqueryable)
{
    // hier deed ik iets met 'item'
}

of

var iqueryable = db.Tabelnaam.ToList();
foreach (var item in iqueryable)
{
    // hier deed ik iets met 'item'
}

Nu is het iqueryable-object een lijst met entiteiten en wordt de database maar 1x aangeroepen.

Een SQL Server voor het eerst gebruiken, hoe moeilijk kan het zijn? Right?

Ik ben XAMPP en WAMP gewend als ik een database moest gebruiken in het verleden. Dat ging altijd super makkelijk, nauwelijks problemen gehad met een MySQL database klaarzetten.

Een SQL Server klaarzetten was voor mij een hele andere ervaring. Blijkbaar moet je SQL Server Management Studio installeren. De Server Name die je daar met invullen bestaat nog niet, die moet je aanmaken met SQL Server Installation Center, tab Installation, en dan New SQL Server stand-alone installation or add featurs to an existing installation. Maar als je daar op klikt moet je een locatie opgeven van waar de Media staat.. Na lang zoeken kwam ik bij deze download: https://www.microsoft.com/nl-NL/sql-server/sql-server-downloads Ik heb de Developer versie gedownload, hier kun je met Custom een plek kiezen waar je de Media wil installeren.

Weer terug naar de Installation Center, navigeer naar waar net Media is geïnstalleerd en kies dan het mapje in die folder genaamd “Developer_ENU” en nu kom je in een wizzard om een SQL Server Instantie aan te maken.

Windows Firewall kan een warning geven, gewoon negeren. Nieuwe installatie. Ik heb de Developer editie gekozen. De volgende dingen heb ik aangevinkt: Database Engine Services, Client Tools Connectivity, Client Tools SDK en SQL Client Connectivity SDK. De eerste heb je sowieso nodig. De instantienaam is de naam van de SQL Server instantie die nu aangemaakt zal worden. Dus gebruik de naam die je wil gebruiker voor je databaseserver, dit is niet de naam van een database zelf. Instance ID wordt automatisch gevuld. Server Agent enzo heb ik allemaal gelaten zoals ze stonden. Autenticatie heb ik op mixed gezet, met wachtwoord voor admin PLUS Add Current User.

En dan kun je het allemaal installeren. Hier heb ik twee verschillende errors gekregen:

“VS Shell installation has failed with exit code 1638” met extra info iets over Microsoft Visual C++ 2015 unable to install. Bij mijn programma’s stond geen 2015, wel 2017. Oplossing: deïnstalleer Microsoft Visual C++ 2017 (64 en 86). Weer door de wizzard heen lopen om Server Instantie aan te maken, dit kan goed gaan of de volgende error komt in beeld:

“The system cannot find the path specified”. Dit houdt in dat de Server Instantie al wel is aangemaakt, ook al is deze kapot omdat de installatie faalde. Oplossing: deïnstalleer de SQL Server Instance. Control Panel – Uninstall a program. Microsoft SQL Server 2017 (64-bit) – Uninstall. Kies remove en uiteindelijk kun je de instantie kiezen en die verwijderen. Ga nogmaals door de installatie wizzard en nu zou het moeten lukken.

Start SQL Server Management Studio en log in met de server naam. Dit is niet alleen de naam van de Instantie, maar daarvoor moet nog de computer naam. Dus Server Name: computernaam\instantienaam en dan inloggen.

Als dit niet werkt, check of de server instantie überhaubt bestaat. Ga naar start, mapje SQL Server en kies SQL Server 2017 Configuration Management. Bij SQL Server Services moet een SQL Server (instantienaam) staan. Als die er niet staat, is de instantie niet goed aangemaakt. Staat de server er wel bij, staat de server aan? .. Verder kan ik niet helpen, want inmiddels werkt het allemaal bij mij gelukkig. Maar wat een moeite om een database aan de praat te krijgen.. xD

*edit*

Nog een installatie error tegengekomen tijdens het installeren op mijn laptop:

“Wait on the Database Engine recovery handle failed”. Voor mij was de oplossing zoals hier beschreven staat: https://www.mssqltips.com/sqlservertip/4526/sql-server-install-error-wait-on-the-database-engine-recovery-handle-failed/ Ik heb gezocht naar de user System en die toegevoegd bij Agent en Engine.

 

Waar eierprikker kopen anno 2018?

Ik was de afgelopen tijd opzoek naar iets heel simpels, een eierprikker. Or so I thought. Xenos, Wibra, Action, Hema hadden het allemaal niet. Maar gelukkig heb ik toch een winkel gevonden die het gelukkig nog wel verkoopt: Blokker! Voor maar 2 euro. Wat kan een mens toch blij zijn met haar nieuwe eierprikker.

Omgaan met puistjes/Prikkende rode wangen

Vanaf mijn tienerjaren kreeg ik last van puistjes in mijn gezicht. Met name in de T-zone: voorhoofd, neus en kin. Ook wel op mijn wangen, maar in mindere mate. Verzorging van de huid maakt het minder erg, ook al zijn extreme pukkeldagen niet te voorkomen. Eten heeft hier ook invloed op, naast de bekende hormonen.

De huid is op verschillende manieren te verzorgen. Ik heb scrubcrème en dagcrème gebruikt. Daarnaast heb ik nooit mijn gezicht met make-up dicht geplamuurd, alleen oogpotlood en mascara. Ik heb verschillende merken gebruikt, als ik 1 goed vond stapte ik alleen over als het product ‘vernieuwd’ was en ineens niet meer zo goed en/of fijn werkte.

Bij scrubben is het belangrijk dat er veel en duidelijke korrels in zitten. Elke dag scrubben is ook weer niet goed, want dat stimuleert helaas de puistjes. Dus the key is om daar gebalanseerd mee om te gaan. Ik deed en doe het scrubben altijd onder de douche. Ik maak mijn gezicht nat met warm water, met draaiende bewegingen scrub ik mijn gezicht en spoel het daarna weer af.

 Het is belangrijk bij dagcrème dat ze ‘matterend’ zijn, want puistjes zitten in een vette huid. Daarnaast is het goed als het specifiek voor puistjes is als je in je puberteit zit. Ik ben inmiddels bijna 30 en mijn huid is iets minder vet dan vroeger, maar helaas heb ik nog steeds last van puistjes.

Matterendecrème is in de winter voor mijn wangen niet meer hydraterend genoeg. Ik heb onder mijn wangen en naast mijn mond hele droge, schilferige plekken. Dus ik ben nu twee verschillende crèmes aan het gebruiken soms.  Een matterende voor mijn T-zone en een hydraterende voor de rest van mijn gezicht.  Het blijft uitproberen.

Update*

In de zomer van 2018 ben ik er achtergekomen dat ik van veel matterende crèmes een prikkend gevoel op mijn wangen krijg en ze zien er dan ook rood uit. Ik heb crèmes voor gemengde huid geprobeerd, geeft het zelfde effect. Alleen de Olaz sensitive (ook als primer) reageert mijn huid goed op, net als de Neutral pot. Mijn puistjes worden er niet erger van en mijn huid ziet er niet vet uit.