c# - SessionFactory“未通过数据库方法配置数据库”
问题描述
我正在尝试使用 Visual Studio Community 2015 在 IIS 10 上部署 API 应用程序,当我尝试发布它时出现此错误:
"创建 SessionFactory 时使用了无效或不完整的配置。有关详细信息,请检查 PotentialReasons 集合和 InnerException。\r\n\r\n * 未通过数据库方法配置数据库。\r\n"
我从这里下载了源代码。
这是我在 Web.config 中的休眠配置:
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">Data Source=DEV01\SQLEXPRESS;Initial Catalog=ACCEPT_DB;Integrated Security=True</property>
<property name="adonet.batch_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
<property name="command_timeout">60</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
</session-factory>
</hibernate-configuration>
这里是 NHibernateSessionFactory:
private NhibernateSessionFactory()
{
var baseConfig = new Configuration();
baseConfig.Configure();
//having one mapping class path is enough.
var config = Fluently.Configure(baseConfig).Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserMap>()).Mappings(m => m.FluentMappings.AddFromAssemblyOf<RoleMap>()).ExposeConfiguration(cfg => cfg.Properties.Add("use_outer_join", "true"));
try
{
if (System.Configuration.ConfigurationManager.AppSettings["DbSchemaDrop"].CompareTo("1") == 0)
config.ExposeConfiguration(cfg => new SchemaExport(cfg).Drop(false, true));
if (System.Configuration.ConfigurationManager.AppSettings["DbSchemaCreate"].CompareTo("1") == 0)
config.ExposeConfiguration(cfg => new SchemaExport(cfg).Create(false, true));
if (System.Configuration.ConfigurationManager.AppSettings["DbSchemaUpdate"].CompareTo("1") == 0)
config.ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true));
}
catch (Exception e)
{
throw (e);
}
SessionFactory = config.BuildSessionFactory();
}
我查看了在 Internet 上可以找到的所有其他解决方案,但没有找到可以解决我的问题的方法。我也看不到任何 InnerExceptions ......
有没有人有解决这个问题的方法?
谢谢!
解决方案
推荐阅读
- c# - MVC Core试图通过选择第一列来填充表格行
- java - 如何在 Spring Boot 中使用来自 spring-security.xml 的配置?
- typescript - 为什么我的 getter/setter 没有在 TypeScript 中编译?
- unicode - 特殊字符显示为表情符号
- java - 使用 FreeMarker 从选择返回值
- macos-mojave - Mac Mojave:从系统偏好设置中禁用 FinderSync 扩展实际上并没有禁用 Finder 中的扩展
- xamarin - 标签文本未在 Xamarin Android 和 Windows 应用程序中正确显示?
- c++ - 如何使 AddressSanitizer 不检查第三方库
- sql - sql oracle获取lib表的所有可能值
- parsing - 在 Haskell 中解析形式逻辑