I'm developing a simple app that'll use a simple database.
So far I thought to use SQL Server Compact. It's a pain to use with LINQ, though.
What should I use? I want to distribute my application with开发者_StackOverflow中文版out anything else to install on the user's computer.
Any suggestions?
Theres plenty of options:
NHibernate - http://nhforge.org/Default.aspx
LightSpeed - http://www.mindscapehq.com/products/lightspeed
EntityFramework - http://msdn.microsoft.com/en-us/library/bb399572.aspx
"I want to distribute my application without anything else to install on the user's computer."
None of the above will require you to install anything on the users computer, but the first two will require you to distribute assemblies with your application, no differently to distributing your own assemblies with the app.
How about the Entity Framework?
Notes on using it with SQL Compact: http://technet.microsoft.com/en-us/library/cc835494.aspx
You might also want to consider a couple of alternative packages such as DbLinq (which appears to be a generalization of LINQ to SQL) and/or System.Data.SQLite (which integrates the SQLite engine into its assembly and is supported by DbLinq).
Why not drop Linq and keep Sql CE? Sql CE is an excellent database engine - fast, lightweight and reliable. And ADO.NET is about as difficult to work with as Paint and Notepad are.
It's still possible to write applications without using Linq.
精彩评论