netcore 使用NHibernate
一、安装
<ItemGroup><PackageReference Include="FluentNHibernate" Version="3.1.0" /><PackageReference Include="NHibernate.Driver.MySqlConnector" Version="2.0.3" /></ItemGroup>
二、新建实体及映射
Store.cs
namespace FluentNHibernateDemo.Entities
{public class Store{public virtual int Id { get; protected set; }public virtual string Name { get; set; }}
}
StoreMap.cs
using FluentNHibernate.Mapping;
using FluentNHibernateDemo.Entities;namespace Examples.FirstProject.Mappings
{public class StoreMap : ClassMap<Store>{public StoreMap(){Id(x => x.Id);Map(x => x.Name);Table("stores");}}
}
三、操作数据WeatherForecastController.cs
using FluentNHibernate.Cfg.Db;
using FluentNHibernate.Cfg;
using FluentNHibernateDemo.Entities;
using Microsoft.AspNetCore.Mvc;
using NHibernate;
using NHibernate.Tool.hbm2ddl;
using NHibernate.Cfg;namespace FluentNHibernateDemo.Controllers
{[ApiController][Route("[controller]")]public class WeatherForecastController : ControllerBase{private readonly ILogger<WeatherForecastController> _logger;public WeatherForecastController(ILogger<WeatherForecastController> logger){_logger = logger;}[HttpGet(Name = "GetWeatherForecast")]public IActionResult Get(){var sessionFactory = CreateSessionFactory();using (var session = sessionFactory.OpenSession()){using (var transaction = session.BeginTransaction()){var store = new Store { Name = "Bargin Basin"+DateTime.Now };session.Save(store);transaction.Commit();}}return Ok(true);}private static ISessionFactory CreateSessionFactory(){return Fluently.Configure(new NHibernate.Cfg.Configuration().DataBaseIntegration(c => c.MySqlConnectorDriver())).Database(MySQLConfiguration.Standard.ConnectionString("Server=192.168.31.132;User ID=root;Password=123456;Database=sugar;port=3306")).Mappings(m => m.FluentMappings.AddFromAssemblyOf<Program>()).ExposeConfiguration(BuildSchema).BuildSessionFactory();}private static void BuildSchema(NHibernate.Cfg.Configuration config){new SchemaExport(config).Create(script =>{Console.WriteLine(script);}, false);}}
}
netcore 使用NHibernate相关推荐
- 在 .NET Core 应用中使用 NHibernate
NHibernate 最近发布了 5.1.3 版本, 支持 .NET Standard 2.0 , 这意味着可以在 .NET Core 2.0 应用中使用, 本文就已 WebAPI 应用为例, 介绍 ...
- 使用Fluent NHibernate和AngularJS的Master Chef(第1部分)ASP.NET Core MVC
目录 介绍 Master Chef Recipe数据模型UML 在Visual Studio 2015更新3中创建MasterChef应用程序 添加Fluent NHibernate数据模型 1)安装 ...
- Simple NHibernate Architecture[from]
原文地址:http://www.codeproject.com/aspnet/NHibernateArchitecture.asp Download source - 2,523.7 KB Intro ...
- NetCore学习实践1__项目创建和配置文件的获取
工具安装:vs2017+版本,.Net Core2.0组件 .NET Core 2.0 SDK win-x64下载地址:https://download.microsoft.com/download/ ...
- NHibernate从入门到精通系列(7)——多对一关联映射
内容摘要 多对一关联映射概括 多对一关联映射插入和查询 多对一关联映配置介绍 一.多对一关联映射概括 关联关系是实体类与实体类之间的结构关系,分别为"多对一"."一对一& ...
- NHibernate初学体验记
NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库.NHibernate 来源于优秀的基于Java的关系型持久化工具Hibernate.NHibernate持久化你的.Net ...
- ActiveRecordBase借助NHibernate的条件获取实体类对象
ActiveRecordBase.FindAll() 函数其中有一个这样的版本的参数 ActiveRecordBase.FindAll(TargetType As System.Type,Orders ...
- 未能从程序集 XX加载类型XXX的错误解决方法(借以提醒NHibernate使用者)
这是写.hbm.xml文件最容易犯的错误之一 首先,Class的Name属性必须是"完全限定类名,程序集名" 这里,例如 <class name="ibiz.cor ...
- netcore 图片 文件大小_NetCore 3.0文件上传和大文件上传的限制详解
NetCore文件上传两种方式 NetCore官方给出的两种文件上传方式分别为"缓冲"."流式".我简单的说说两种的区别, 1.缓冲:通过模型绑定先把整个文件保 ...
最新文章
- python费用结算系统_python 全栈开发,Day104(DRF用户认证,结算中心,django-redis)
- 黄金票据(Golden Ticket)的原理与实践
- [JavaWeb-XML]XML_解析_解析方式
- KerasSeq2seqGeneration:基于seq2seq模型的文本生成任务项目
- 【Docker学习笔记(五)】小结
- nohup执行的jar 怎么kill_使用Shell脚本如何启动/停止Java的jar程序
- 牛客网项目里的数据表
- 计算机硬盘扇区修复,一文教你搞定硬盘上的坏扇区要怎么修复,如果从坏扇区修复数据!...
- Keras深度学习实战(7)——卷积神经网络详解与实现
- win10安装无法创建新分区也找不到现有分区问题
- Unity 3D 海水的实现1 海水网格的生成 LOD优化海水
- 常见编码格式(中文编码)
- 文件上传流程和协议规范,简,全
- 数据结构与算法笔记:分治策略之Greatest Slice,2-Way Merge,Counting Inversions,linearSelect,Diameter,Closest Pair
- OpenCV_contrib配置教程(详细版)
- 由114.114.114.114和8.8.8.8学习DNS
- 【软件测试】linux命令-引用符号(反斜杠\、单引号‘‘、双引号““)
- mac安装mysql方法
- 卡尔曼滤波器的实用方法及其实现方法
- 什么是内存溢出?在哪些区域会发生内存溢出?