有人推荐Sqlite代码生成工具吗?
我已经找到了Habanero框架,对此有什么评论吗?
谢谢
更新
在这件事上我已经和亚音速一起走了。为了帮助其他人,这里有一个创建类并将Subsonic和Sqlite一起使用的“基本”示例。
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;
}
}
}发布于 2009-12-19 23:25:28
几个.NET对象关系映射器支持SQLite。请参见这个问题 -- .NET ORMs的列表:在这里提到的列表中,我知道NHibernate和LightSpeed支持SQLite,实体框架通过艾沃尔夫的回答中提到的提供者所做的事情也是如此。我对其他人不太确定。
在代码生成方面,LightSpeed和实体框架(通过System.Data.SQLite)包括导入现有SQLite数据库模式的工具;我不确定NHibernate。(信息披露:,我为一家制造LightSpeed的公司工作;不过,我试着让答案真实!)
发布于 2009-12-19 22:43:10
我不知道这是不是你要找的东西,你已经看过了吗?
http://sqlite.phxsoftware.com/
您可以在ADO.NET 2.0或ADO.NET 3.5实体框架中使用它。
发布于 2009-12-19 22:42:39
http://en.wikipedia.org/wiki/NHibernate
框架
您还可以使用linq来执行sql魔术操作。
https://stackoverflow.com/questions/1934303
复制相似问题