public void ConfigureServices(IServiceCollection services) { // nhibernate 配置文件的路径 var path = System.IO.Path.Combine( AppDomain.CurrentDomain.BaseDirectory, "hibernate.config" ); // 添加 NHibernate 相关的服务 services.AddHibernate(path); services.AddMvc() .SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }
7、 修改默认的 ValuesController.cs , 注入并使用 NHibernate:
7.1、 修改构造函数, 注入 ISessionFactory :
public ValuesController(ISessionFactory factory) { this.factory = factory; }
7.2、 修改 Get 方法, 使用 NHibernate 进行查询:
// GET api/values [HttpGet] public ActionResult<IEnumerable<GpsPosition>> Get() { using (var session = factory.OpenSession()) { var query = session.Query<GpsPosition>(); return query.ToList(); } }
8、 编译并运行:
dotnet run
之后可以看到类似这样的 NHibernate 初始化信息:
Using launch settings from ~/Projects/WebApiTest/Properties/launchSettings.json... info: NHibernate.Cfg.Environment[0] NHibernate 5.1.3 (assembly 5.1.0.0) info: NHibernate.Cfg.Environment[0] hibernate-configuration section not found in application configuration file info: NHibernate.Cfg.Environment[0] Bytecode provider name : lcg info: NHibernate.Cfg.Environment[0] Using reflection optimizer dbug: NHibernate.Cfg.Configuration[0] ...... Hosting environment: Development Content root path: ~/Projects/WebApiTest Now listening on: https://localhost:5001 Now listening on: :5000 Application started. Press Ctrl+C to shut down.
看到这些信息, 就表示已经可以正常的使用 NHibernate 了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章: