|
Even for my "hobbies" now, I use Entity Framework (EF ORM).
Using "code first", your POCO's can generate the data base (local file; sql express; standard):
db.Initialize().
(Handy when "importing" 3rd party xml-type data bases).
Access using LINQ; with or without lazy loading.
Using a repository pattern, you centralize and "standardize" your access methods for "that" db context. Helps the thought process.
Change your "data model" in code and recreate your db with one line of code.
NuGet manages all the EF dependencies.
In your case, using EF "database first", it's a simple matter to generate your "entities"; and "expand" them using partial classes. You can then "convert" to "code first" for continued development.
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
We use the eXpressPersistent Objects™ (XPO) DevExpress[^].
It can do all we need (and we require a lot...).
XPO is very well documented and when you need support, DevExpress answers questions quickly with a solution.
Most of the time you find an answer in the support center history.
Under others, this ORM supports 12 RDBMS and can work even with totally broken DB designs, for example with 30 year old legacy tables...
|
|
|
|
|
Speed and performance are important factors
IMHO:
- 1: Generally allow for speedier development for developers so they appear to have higher performance.
- 2: "Raw" SQL generally is speedier allowing the allowing the program to achieve higher performance.
Director of Transmogrification Services
Shinobi of Query Language
Master of Yoda Conditional
|
|
|
|
|
Thanks, that seems correct to me, the more I read about NHibernate the more confusing it gets, so I'm not convinced that it is a good solution for us.
My first impressions are not positive I have to admit, the learning curve seems steep.
But management has decided that we will give it a go, so we will see how far we get with it ...
|
|
|
|
|
We use a tech stack that includes NHibernate in our enterprise environment and rarely have issues. It helps with TDD. I would suggest pairing it with a good IoC Container (like AutoFac) though. Side note, you can run raw SQL, HQL or execute stored procedures from NHibernate.
Here is our server side stack:
C# (WebApi)
AutoFac (IoC Container)
Fluent NHibernate (ORM Tool)
MsTest (Testing Framework)
Sqlite - InMemory Database configuration (Used in unit testing)
MSSQL Server - Production
NHiberante ASP.NET Identity
OAUTH/OWIN Middleware Implementation
Client Side:
Twitter Boostrap (Front-end framework HTML framework)
Typescript (Staticly typed, Class-based Transcompiler to JavaScript)
AngularJS (MV* Framework)
UI Bootstrap (Bootstrap components written in AngularJS)
Font Awesome (Icon Framework)
Jasmine (Javascript/Typescript Testing Framework)
Eric
|
|
|
|
|
I'm looking at WPF vs UWP for a consumer facing kiosk app.
WPF I know is doable, since it can be bundled up into an .msi and then tied into an off the shelf auto-update platform.
For UWP, I see sideloading is doable via turning on a setting and installing a signing key. That's obviously a bit more work up front; but should be doable for initial install by whoever is setting them up at the manufacturing/assembly point (and might be able to be baked into a factory image).
What I'm not sure is if there's going to be an ongoing maintenance penalty from doing so, in terms of additional work needed to update the app after the kiosk is deployed, or other gotchas I'm not aware of.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
I'm not sure what it is really like as an ongoing thing but I have documented the basics of side-loading in my book Programming Windows Desktop Via UWP in chapter 13 which you can read here:
Programming Windows 10 Desktop: UWP Focus (13 of N)[^]
Mostly, it is just a bunch of esoteric things you need to know ahead of time.
Maybe the article's walkthru and screen shots will provide a bit of info that will help you.
|
|
|
|
|
Thank you. That looks like the exact sort of information I need to get my research started.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
That's great. So glad I could help out. Thanks for letting me know.
|
|
|
|
|
I found that auto updating a side loaded app wasn't the most straightforward of tasks in the world. In the end, I went with a version of this[^] as a means of updating. Apart from that, it's not too complicated to do (note, this was before the Fall Creator update which has enhanced the side loading capabilities a fair bit so you might not need to do this anymore).
|
|
|
|
|
that page was on my list of things to give a try. Some of the comments on the post by people who couldn't make it work had me concerned it wasn't a complete solution.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
I really need to try the Fall Creators side loading to see what's been updated (no pun intended).
This space for rent
|
|
|
|
|
Are there any gotchas I should be aware of? One of my coworkers tried sideloading years ago (might've been 8.x not 10) but got burned when the sideloaded installs all expired after a few (2?) months.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
W10 updated the Sideload experience a lot. I have one app that's been side loaded for about 16 months now and it hasn't complained.
This space for rent
|
|
|
|
|
Good to know that MS has been streamlining the process away from the initial use the store or off approach they took when W8 came out.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
I think I understand why that blog post has a lot of not working comments. It doesn't appear to be quite complete, and as someone not familiar with UWP I'm also struggling to figure out how to get everything connected.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Sorry to keep bombarding you with messages...
I've figured out what was missing in that blog post (exposing the update service for consumption) and managed to get my proof of concept demo working.
Since you've put this into production, I do have one farther question. Is there a more elegant solution for the initial install than zipping both app package builds up and running the powershell scripts to deploy the app+certs for the main app and updater apps in sequence. To minimize human error I'd prefer to have a single execution point that would install both of them.
Going to a production level setup I probably want to have the main app able to be able to install a new version of its updater if needed. Would bootstrapping that into running the install script for the main app, and having it install the update tool instead of running 2 installers work? Not sure I really like that though since it potentially splits the initial install into two steps that could be run by different users at widely different times. (Yeah, the person doing the install should test that it worked by launching the app. *SHOULD*)
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
I'm going to have a play around with the new side loader in W10. I'll get back to you as soon as I've had a chance to kick the tyres on it - hopefully simplifying things a bit.
This space for rent
|
|
|
|
|
I have a UWP app that we use in house. When I have a new version I put it up on a share and my tester copies it to the Surface Pro 4, right clicks on the setup app and runs with Power Shell. Usually that works fine, but there have been times when for reasons unknown we had to uninstall the existing version first and then install the new build before it would take.
When we deem everything happy he then Remote Desktop's into the other Surfaces in various cities and repeats the process to take the version live.
I haven't encountered any particular gotchas in terms of side loading, but we did get bit by Microsoft's bloody "We're gonna update Windows whenever we feel like it and you can't do anything about it" policy. I believe it was the Redstone 3 update, which jacked the networking on all of our boxes and burned us for a few days. But that's a Windows 10 thing, not specific to UWP.
Overall it's been fun to work with.
|
|
|
|
|
Manual install's not going to be an appealing option for our customer since they're planning to make the box this runs on by the thousands. Even with some sort of automation to open the connections so whoever's doing it just needed to click an icon that'd download and install automatically that'd turn into a major time sink.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Since the setup runs via Power Shell there's probably some path to pushing it through whatever admin voodoo that Windows IT guys do, but we only have it in half a dozen warehouses so no one has burned the cycles to figure out that sort of thing.
|
|
|
|
|
If they were all going to live on a single domain I'm sure you're right; but being connected to whatever the customer's on site wifi is means whatever we do will need to run over HTTPS. There're 10 billion remote desktop tools available for a tech logging in without driving/flying out on site; but I really doubt any of them would allow running a remotely delivered script directly.
If you've seen my last comment to Pete, I've got the update thing running as a proof of concept, and give or take whatever he has to say about putting it into production am moving on to my next proof of concepting task.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Yeah, Pete usually has his nose pointed in the right direction.
If this is for general / semi-general public, I wonder if it would be worth putting it on the Windows store. I have no idea what hoops that involved, but it's meant for general distribution.
|
|
|
|
|
It's the user interface to a box of custom hardware, so it'd be useless without the hardware it ships with.
I can't see any value in putting it in the store to anyone other than theoretical competitors who'd be interested in reverse engineering it.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Is a lawyers dog a Legal Beagle?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|