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