我正在为网络核心中的api编程到数据库的连接。我决定禁止,但是我无法连接到mysql数据库,这是本地配置,我所拥有的是以下
那是我的CreateSessionFactory
私有静态ISessionFactory CreateSessionFactory() { 尝试 {
string connection = "server='localhost';Database='equalsbd';UserId='root';Password='123456';port=3304";
var db = MySQLConfiguration.Standard.ConnectionString(connection);
return Fluently.Configure().Database(db)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf
<SessionNHibernate>()).BuildSessionFactory();
}
catch
{
}
return null;
}
这是我的全班课
公共类SessionNHibernate {
private static ISessionFactory sessionFactory = null;
private static ISession session = null;
private static ISessionFactory SessionFactory
{
get
{
if (SessionFactory == null)
sessionFactory = CreateSessionFactory();
return sessionFactory;
}
}
public static ISession Session
{
get { return session; }
}
public static ISession OpenSession() {
try
{
session = SessionFactory.OpenSession();
return session;
}
catch (Exception ex)
{
var p = ex;
return session;
}
}
public static void CloseSession()
{
session.Close();
}
private static ISessionFactory CreateSessionFactory()
{
try
{
string connection = "server='localhost';Database='equalsbd';UserId='root';Password='123456';port=3304";
var db = MySQLConfiguration.Standard.ConnectionString(connection);
return Fluently.Configure().Database(db)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf
<SessionNHibernate>()).BuildSessionFactory();
}
catch
{
}
return null;
}
}
答案 0 :(得分:0)
我所做的第一个更改是修改
private static ISessionFactory sessionFactory = null;
作者
private static ISessionFactory _sessionFactory = null;
防止混乱
第二个是通过将用户地图的私有属性更改为保护来更新用户地图,由于某种原因,该用户地图是私有的,不允许连接读取属性
以这种方式离开
这个
public class Usuarios
{
public virtual long idUsuarios { get; private set; }
public virtual string Usuario { get; private set; }
public virtual string Password { get; private set; }
public virtual string Perfiles_idPerfiles { get; private set; }
public static List<Usuarios> ListaUsuario() {
using (var session = SessionNHibernate.OpenSession() )
{
return session.Query<Usuarios>().ToList();
}
}
}
以正确的方式
public class Usuarios
{
public virtual long idUsuarios { get; protected set; }
public virtual string Usuario { get; protected set; }
public virtual string Password { get; protected set; }
public virtual string Perfiles_idPerfiles { get; protected set; }
public static List<Usuarios> ListaUsuario() {
using (var session = SessionNHibernate.OpenSession() )
{
return session.Query<Usuarios>().ToList();
}
}
}
与此相关,您与mysql的连接将可用或与任何其他数据库一起使用