Silverlight 4 with SQLite or alternative - database

I am making a Silverlight app and what I considered something straight-forward really isn't.
I am in need to create a application where a local database is stored on the web server where the Silverlight application can connect to and whenever a user goes on the application will allow sql queries to be carried out. Main use is Registration, login and event registration.
I have tried the Community SQLite: http://code.google.com/p/csharp-sqlite/
But had trouble getting it to work with Silverlight, my guess is due to poor documentation. I already have made a project containing a lot of work so I just want to implement my SQLite code into that.
Can anyone help
Thanks.

If you want your Silverlight application to have a LOCAL storage database, check out Sterling.
If you want your Silverlight application to query a centralized, server-side database, then you need to expose your database via WCF. RIA services is probably the easiest implementation.

Related

SQL Server Database internal network Application

I have a SQL Server Database back-end. I want an internal network front-end UI, such that it is only accessible within a company network, not the web. Which platform would be best to use for a front-end UI application with a SQL Server database back-end? ASP.NET, PHP, Silverlight, or something else.
I would like to have graphs showing trends in data, and I would like to have the user to be able to select paramters on certain reports.
I do not have much experience with front-end user interfaces so I am open to just about anything.
If you need more information just let me know.
Thanks
If you want to build a front-end mainly for reports , I would suggest using SQL Server Reporting Services.
If you are really interested in having a better UI experience then i suggest you go with Silverlight .You wont get resizable layout ,grid and feature rich UI without using 3rd party tools in ASP.NET.
If you want your application to be used on any device than ASP.NET is the way to go since silverlight has some compatibility issue as you need to install plugin for it .So it all depends upon the requirement .No idea regarding PHP or any other technology

Silverlight 4... Working with database?

I'm very new to Silverlight...
Is Silverlight development the same as ASP.NET?
I've started working on an Online University management in Silverlight 4 using Visual Studio 2010. I know that Silverlight is client-side.
Please Explain how to work with a database in a Silverlight 4 application. How do you do adding, deleting, updating (CRUD application)?
You have basically 4 options:
Use an embedded database. Some examples: Ninja database light, db4o. Most are commercial
Save your data using serialization onto the client's hard drive using IsolatedStorage: XmlSerializer is the best bet for this, and so long as you don't have too much data this is quickest method.
Use a web service reference in the Silverlight client storing no data on the client at all. All the CRUD operations are sent to the server.
Use the WebClient class to access some kind of RESTful service, getting data back in a JSON format or similar. All the CRUD operations are sent to the server this way too. As with the web services, this will be getting the data from the network each time the Silverlight app loads.

Silverlight SQL Deployment

I'm about to write an application in either Adobe Air or Silverlight, to run standalone, offline, on the desktop. It's a simple enough application that allows the user to enter text data and will then print formatted documents based on that information. The obvious place to store all this relational data is in a database. I believe Air comes with SQLite out of the box, so no problems there, but from what I can tell Silverlight doesn't. How does Silverlight handle installing an out of browser application that needs to access a local database? Does the user have to install SQL/SQLite first and then Silverlight, or is there some way that Silverlight can deploy that side of things itself?
Thanks
I don't know much about Air, But Silverlight has IsolatedStorage for saving data on client-end and it has its own constrains. But if you want to have an application that can access local database why don't you try WPF(XBAP)?
This link can be helpful regarding SQLLite and Silverlight using IsolatedStorage.
http://forums.silverlight.net/forums/p/118411/267135.aspx
Regards.
I'm fairly certain silverlight isn't intended for... whatever it is you're trying to do.

How to rearchitect Hibernate DAO layer of ASP.NET app to move it to Silverlight?

Last try to get an answer on this.
I have a simple ASP.NET app which uses Hibernate for data access.
GUI can call methods on Customer object like "CalculateTotalSumOfOrders()".
Lazy loading (even though it's not optimal) will work for me, and when Orders and OrderLines collections are referenced in the domain objects, they will get automatically fetched from the database.
Now let's assume I am rewriting the same very app to Silverlight because it looks better than ASP.NET.
I am NO longer able to do lazy loading or data access, because Silverlight client runs in the browser.
How can I solve this without thinking too much about what kind of service to use to get data into the Silverlight client?
Your best bet for supporting all of those platforms is to use a web service. There are many different flavors that you can choose from, .NET 2.0 Web Services (ASMX), WCF, REST, if you are using Silverlight, you may want to consider using WCF + LINQ to SQL which is demonstrated here. That combination can also be used in ASP.NET (if running on .NET 3.5) and Windows Desktop Apps (again .NET 3.5).
Also an open source project called InterLinq might be interesting to you, basically it allows you to build LINQ to SQL queries on the client side, and then transmit them through WCF to a server that executes the query and returns the result. That can be found here. I have experimented with it in the past and it works quite well.
One option that would support Silverlight and Windows clients would be the new ADO.NET Data Services in .NET 3.5 SP1. These are a set of services that expose your database schema through a WCF interface. You can then retrieve the data from Silverlight or a Windows Client using a WCF client.
As #McWafflestix has said, you won't be able to do lazy loading any more, but in my opinion that's a good thing because retrieving data is now a much more "expensive" operation.
You're trying to take a server-side app that interacts with your database and does lazy loading, and convert it into a client-side app without a lot of work? Sorry, it's just not going to work. What you need is a major rearchitecting of your application.
Sorry...
*
"That's okay because I'm quite early
there. How would you rearchitect it to
support both ASP.NET, silverlight and
windows clients with minimal
overhead?"
*
I know I am answering this question way past the expiry, anyhow here goes. I would suggest you use the MVP design pattern; this would help you build multiple "Views" to work with your Model. In order to ensure that you support Windows clients, you would have to expose your Business Layer using a services layer (read WCF).

Data access technology for Silverlight and WPF standalone app versions

I am writing an applicaton that will be a standalone WPF application and also a cut down version that will work as Silverlight and so be hosted in browsers. I want the Silverlight application to access data from the cloud. The WPF application needs to work against a local database but then be able to sync with the same cloud storage.
So I need the following scenarios to work. Silverlight works directly against the data stored in the cloud. The WPF app works against a local database. But the WPF app has the ability when it starts up to go to the cloud and get the latest version in case of changes being made online since the last time the WPF app was run. When the user finishes on the WPF app it can then sync up the changes made to the cloud again. This allows better performance during WPF being run and also allows you to run it offline and sync up later when you have a connection.
What is the best technology available to do this? I know there is a Sync Framework, SQL Server Data Service, ADO.NET Entity Framework and SQL Server Compact Edition that help with data access but I am not sure if they can be made to work together to do the presented scenario.
Do I implement all this myself? Does most of it come for free and I only need to handle the syncing? If you have deep knowledge of the Microsoft data access technologies then I would appreciate your input on the design.
Your scenario would be easy with a standard SQL server backend. :)
However, I think what you're proposing is doable for the most part. For the WPF app and syncing to the cloud with SSDS you could use Project Huron (which has downloads coming "soon"). That would keep your SSDS data in sync with the WPF client apps.
For the silverlight side you could use the REST api of SSDS (or a helper library like SSDS Rest).
So you won't need to implement most of it yourself, but whenever you head down a road like this one there are always lots of little roadblocks to run into along the way. Have fun!

Resources