0

我在我的应用程序中使用流利的 nhibernate,我也使用 sql server 2012。这是我的配置:

public class SessionFactory
    {
        private static ISessionFactory _sessionFactory;

        public static string ConnectionString
        {
            get { return ConfigurationManager.ConnectionStrings["ECommerceConnectionString"].ToString(); }
        }

        private static void Initialize()
        {
            var config = Fluently.Configure().Database(
                MsSqlConfiguration
                    .MsSql2008
                    .ConnectionString(ConnectionString).ShowSql().Dialect<MsSql2012Dialect>());
            _sessionFactory = config.Mappings(m => m.FluentMappings.AddFromAssemblyOf<ContactMapping>()).BuildSessionFactory();
        }

        private static ISessionFactory GetSessionFactory()
        {
            if (_sessionFactory == null)
                Initialize();

            return _sessionFactory;
        }

        private static ISession GetNewSession()
        {
            return GetSessionFactory().OpenSession();
        }

        public static ISession GetCurrentSession()
        {
            var sessionStorageContainer = SessionStorageFactory.GetStorageContainer();

            var currentSession = sessionStorageContainer.GetCurrentSession();

            if (currentSession == null)
            {
                currentSession = GetNewSession();
                sessionStorageContainer.Store(currentSession);
            }

            return currentSession;
        }
    }

虽然我正在使用MsSql2012Dialect,但我仍然遇到 sql server 兼容性错误,请问我该如何解决这个问题?

4

1 回答 1

0

你真的应该使用

 Fluently.Configure()
            .Database(
                MsSqlConfiguration
                .MsSql2012
                .ConnectionString(conString)
                .ShowSql)

流利地为我工作

错误“无效的对象名称”通常引用 SQL 异常,例如表不存在或类似的东西......完整的堆栈跟踪/错误消息会有所帮助。

于 2013-09-29T12:16:04.040 回答