Toutes les recommandations pour Sqlite C# ORM de génération de code
Peut-on recommander un Sqlite C# ORM outil de génération de code.
J'ai trouvé le Habanero cadre, des commentaires sur l'?
Grâce
Mise à JOUR
Je suis allé avec Subsonique dans cette instance. Aider quelqu'un d'autre, voici une 'base' exemple de la création d'une classe et à l'aide de Subsonique et Sqlite ensemble.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SQLite;
using SubSonic;
using SubSonic.Schema;
using SubSonic.Repository;
using SubSonic.DataProviders;
namespace SubsonicSqliteTest
{
public class User
{
public User()
{
ID = Guid.NewGuid();
//Set Defaults
FirstName = String.Empty;
LastName = String.Empty;
Username = String.Empty;
Password = String.Empty;
IsAdministrator = 0;
}
public Guid ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public int IsAdministrator { get; set; }
public DateTime? CreatedDate { get; set; }
public DateTime? LastUpdatedDate { get; set; }
public static User Get(Guid id)
{
string databasePath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Application.ExecutablePath), "Database.db");
IDataProvider provider = ProviderFactory.GetProvider("Data Source=" + databasePath + ";Version=3;New=True;Pooling=True;Max Pool Size=1;", "System.Data.SQLite");
var repository = new SimpleRepository(provider, SimpleRepositoryOptions.RunMigrations);
var users = from user in repository.All<User>()
where user.ID == id
select user;
foreach (var user in users)
{
return user;
}
return null;
}
public User Save()
{
string databasePath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Application.ExecutablePath), "Database.db");
IDataProvider provider = ProviderFactory.GetProvider("Data Source=" + databasePath + ";Version=3;New=True;Pooling=True;Max Pool Size=1;", "System.Data.SQLite");
var repository = new SimpleRepository(provider, SimpleRepositoryOptions.RunMigrations);
repository.Add(this);
return this;
}
}
}
Habanero semble trop gros pour mes besoins dans ce cas. Nous avons notre propre cadre de référence qui est trop lourd et je suis en fait en la remplaçant dans cette instance.
OriginalL'auteur Mark Redman | 2009-12-19
Vous devez vous connecter pour publier un commentaire.
D'autres ont déjà posté sur NHibernate (surtout avec NHibernate Fluent) et ADO.Net Entity Framework qui sont à la fois grands. Vous pouvez également regarder SubSonic. Si vous envisagez de SQLite alors à vos exigences de base de données doit être assez simple et SubSonic est SimpleRepository option est super facile à utiliser.
La Subsonique SimpleRepository semble assez bon pour les petites applis et rapide proof-of-concepts! Aucune idée sur comment connecter un SimpleRepository à Sqlite DataProvider ou comment faire pour configurer une connexion Sqlite chaîne?
Je vais aller avec Subsonique SimpleRepository, merci pour l'aide. (J'ai inclus une classe de base qui montre Sqlite et Subsonique dans la Question)
Content d'avoir pu aider. Dirait que vous avez trouvé les connexions de la chaîne, droit?
OriginalL'auteur Mark Ewer
Plusieurs .NET objet-relationnel mappeurs de support de SQLite. Voir cette question une liste de .NET Orm: de ceux mentionnés, je sais que NHibernate et LightSpeed support de SQLite, comme le fait le Cadre de l'Entité n'via le fournisseur mentionné dans eWolf réponse. Je ne suis pas sûr que les autres.
En termes de génération de code, LightSpeed et Entity Framework (via le Système.Les données.SQLite) comprennent des outils pour l'importation d'un existant schéma de base de données SQLite; je ne suis pas sûr de NHibernate. (Divulgation: je travaille pour la société qui fait de LightSpeed; en essayant de garder la réponse factuelle, si!)
OriginalL'auteur itowlson
Je ne sais pas si c'est exactement ce que vous cherchez; avez-vous déjà vu cela?
http://sqlite.phxsoftware.com/
Vous pouvez l'utiliser avec ADO.NET 2.0 ou l'ADO.NET 3.5 Entity Framework.
merci, mais le lien est mort
OriginalL'auteur eWolf
http://en.wikipedia.org/wiki/NHibernate
http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework
vous pouvez également utiliser le linq to sql magie truc
je ne suis pas... mais elle suce plutôt de toute façon... cette aide? sqlite.phxsoftware.com
LINQ to SQL est seulement pour MSSQL server. Mais, Entity Framework vous donne une forte LINQ fournisseur de sorte que vous pouvez faire essentiellement la même chose.
OriginalL'auteur AK_
C'est un très puissant de l'ORM, de générer le code amicale http://www.schematrix.com
OriginalL'auteur Jordan