Любые рекомендации для [закрытой] генерации кода Sqlite C# ORM

Может любой рекомендовать инструмент генерации кода Sqlite C# ORM.

Я нашел платформу 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;
        }
    }
}
9
задан Mark Redman 20 December 2009 в 15:57
поделиться

4 ответа

Другие уже писали о NHibernate (особенно с Fluent NHibernate ) и ADO.Net Entity Framework, которые обе великолепны. Вы также можете посмотреть SubSonic . Если вы рассматриваете SQLite, то ваши требования к базе данных должны быть довольно простыми, а опция SubSonic SimpleRepository очень проста в использовании.

4
ответ дан 4 December 2019 в 21:49
поделиться

Некоторые объектно-реляционные преобразователи .NET поддерживают SQLite. См. этот вопрос список .NET ORM: из упомянутых там я знаю, что NHibernate и LightSpeed ​​ поддерживают SQLite, как и Entity Framework через провайдер, упомянутый в ответе eWolf . Я не уверен насчет других.

С точки зрения генерации кода LightSpeed ​​и Entity Framework (через System.Data.SQLite) включают инструменты для импорта существующей схемы базы данных SQLite; Я не уверен насчет NHibernate. ( Раскрытие информации: Я работаю в компании, которая производит LightSpeed, но стараюсь, чтобы ответ был фактическим!)

3
ответ дан 4 December 2019 в 21:49
поделиться

Я не знаю, это именно то, что вы ищете; вы уже видели это?

http://sqlite.phxsoftware.com/

Вы можете использовать его с ADO.NET 2.0 или ADO.NET 3.5 Entity Framework.

2
ответ дан 4 December 2019 в 21:49
поделиться

http://en.wikipedia.org/wiki/NHibernate

http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework

вы также можете использовать linq в sql magic thingy

0
ответ дан 4 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: