jonney

像写情书一样写程序,像看小说一样看代码
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Fluent Nhibernate+vs2010+OperaMasks-UI整合的笔记

Posted on 2013-05-05 00:12  jonney  阅读(369)  评论(0编辑  收藏  举报

以下是自己做的一些笔记和记录,为了不用每次做东西都东找西找,很多东西都是从网上取别人成果的,做个记录留这自己看看把,把资料也上传一下!大家看了也不要拍我!

首先先整合持久层下载Fluent Nhibernate https://github.com/jagregory/fluent-nhibernate

这个fluent是一个不错的东西,不需要写很多配置文件,但是实体和MAPPING还是要写比较麻烦,找了很久好到了一个

NHibernate Mapping Generator 实体生产工具 可以选择fluent mapping 方式 下载   http://nmg.codeplex.com/ 虽然一对多,多对多,多对一关系生成出来有些问题,但是还是可以生成一部分的。有些小部分的调整就OK了,如果大家有更好的可以告诉一下我,谢谢了!

MSSQL2008配置如下:


Fluently.Configure() .Database( FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2008.ShowSql() .ConnectionString(s => s.Server("LOCALHOST\\SQLEXPRESS") .Database"***").Username("sa").Password("sql") .TrustedConnection()) ).Mappings(m => m.FluentMappings.AddFromAssembly(typeof(BaseEntity).Assembly)) .BuildSessionFactory();

MYSQL配置如下

            return Fluently.Configure().
                .Database(
                    FluentNHibernate.Cfg.Db.MySQLConfiguration.Standard
                        .ConnectionString("server=localhost;user id=root; password=root; database=***; pooling=false;charset=utf8")
                .ShowSql().FormatSql()).Mappings(m => m.FluentMappings.AddFromAssembly(typeof(BaseEntity).Assembly)) .BuildSessionFactory();

typeof(BaseEntity).Assembly里面BaseEntity是生成实体类所在的项目或类库里面的一个类。

OK!连接成功!

  

定义一个IRepository
    public interface IRepository<T> where T:BaseEntity
    {
        T Load(string id);
        T Get(string id);
        IList<T> GetAll();
        void SaveOrUpdate(T entity);
        void Update(T entity);
        void Delete(string id);
        void PhysicsDelete(string id);
    }

 其他实体继承一下BaseEntity就可以灵活运用了!