Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FluentNHibernate-无法执行查找[SQL:SQL不可用]_C#_Mysql_Fluent Nhibernate_Fluent Nhibernate Mapping - Fatal编程技术网

C# FluentNHibernate-无法执行查找[SQL:SQL不可用]

C# FluentNHibernate-无法执行查找[SQL:SQL不可用],c#,mysql,fluent-nhibernate,fluent-nhibernate-mapping,C#,Mysql,Fluent Nhibernate,Fluent Nhibernate Mapping,我只是尝试使用FluentNhibernate/C#访问数据,在尝试执行sql查询时收到以下错误消息。我将非常感谢任何帮助 异常:NHibernate.Exceptions.GenericADOException:无法 执行查找[SQL:SQL不可用]-->System.ArgumentException: 值“SampleProject.User”不是“SampleProject.User”类型,并且 无法在此常规集合中使用。参数名称:值位于 System.ThrowWhelper.Throw

我只是尝试使用FluentNhibernate/C#访问数据,在尝试执行sql查询时收到以下错误消息。我将非常感谢任何帮助

异常:NHibernate.Exceptions.GenericADOException:无法 执行查找[SQL:SQL不可用]-->System.ArgumentException: 值“SampleProject.User”不是“SampleProject.User”类型,并且 无法在此常规集合中使用。参数名称:值位于 System.ThrowWhelper.ThrowWrongValueTypeArgumentException(对象值, 键入targetType)在 System.Collections.Generic.List`1.System.Collections.IList.Add(对象 项目)位于NHibernate.Util.ArrayHelper.AddAll(IList-to,IList-from)
在NHibernate.Impl.SessionImpl.List(CriteriaImpl-criteria,IList 结果)--内部异常堆栈跟踪的结束---at NHibernate.Impl.SessionImpl.List(标准Impl标准,IList结果) 在NHibernate.Impl.CriteriaImpl.List(IList结果)处 NHibernate.Impl.CriteriaImpl.ListT

我的脚本如下所示。FluentMappings似乎有问题

namespace SampleProject
{
public class NHibernateHelper
{
    public NHibernateHelper()
    {
        InitializeSessionFactory();
    }
    private static ISessionFactory m_SessionFactory;
    public static ISessionFactory SessionFactory
    {
        get
        {
            if (m_SessionFactory == null)
                InitializeSessionFactory();
            return m_SessionFactory;
        }
    }
    private static void InitializeSessionFactory()
    {
        try
        {
            string connectionString = "";
            connectionString = "Server=localhost;Port=3306;Database=myDB;Uid=testUser;Pwd=123; Allow Zero Datetime=true;Convert Zero Datetime=true; CharSet=utf8";
            m_SessionFactory = Fluently.Configure().Database(
            MySQLConfiguration.Standard
            .ConnectionString(connectionString))
            .Mappings(m => m.FluentMappings.AddFromAssemblyOf<GetData>())
            .ExposeConfiguration(cfg => cfg.SetProperty("connection.release_mode", "on_close"))
            .BuildSessionFactory();
        }
        catch (FluentConfigurationException e)
        {
            throw e.InnerException;
        }
    }

    public static ISession OpenSession()
    {
        return SessionFactory.OpenSession();
    }

}

}
namespace-SampleProject
{
公共类NHibernateHelper
{
公共NHibernateHelper()
{
初始化SessionFactory();
}
私人静态ISessionFactory m_SessionFactory;
公共静态ISessionFactory会话工厂
{
得到
{
if(m_SessionFactory==null)
初始化SessionFactory();
返回m_SessionFactory;
}
}
私有静态void InitializeSessionFactory()
{
尝试
{
字符串连接字符串=”;
connectionString=“服务器=localhost;端口=3306;数据库=myDB;Uid=testUser;Pwd=123;允许零日期时间=true;转换零日期时间=true;字符集=utf8”;
m_SessionFactory=fluntly.Configure().Database(
MySQLConfiguration.Standard
.连接字符串(连接字符串))
.Mappings(m=>m.FluentMappings.AddFromAssemblyOf())
.ExposeConfiguration(cfg=>cfg.SetProperty(“connection.release\u mode”、“on\u close”))
.BuildSessionFactory();
}
捕获(FluentConfigurationException e)
{
抛出e.InnerException;
}
}
公共静态会话OpenSession()
{
返回SessionFactory.OpenSession();
}
}
}
//////////////

public class User
{
    public virtual int UserID { get; set; }
    public virtual string Name { get; set; }
}

public class UserMap : ClassMap<User>
{
    public UserMap()
    {
        Id(x => x.UserID ).Column("user_id");
        Map(x => x.Name).Column("name");
        Table("User_master");
     }
}
公共类用户
{
公共虚拟int用户标识{get;set;}
公共虚拟字符串名称{get;set;}
}
公共类UserMap:ClassMap
{
公共用户映射()
{
Id(x=>x.UserID).Column(“用户Id”);
Map(x=>x.Name).Column(“Name”);
表(“用户/主机”);
}
}
//执行sql查询

using (var session = NHibernateHelper.OpenSession())
{
      using (var transaction = session.BeginTransaction())
      {
          var userM = session.CreateCriteria<User>("usr").List<User>();


      }
} 
使用(var session=NHibernateHelper.OpenSession())
{
使用(var transaction=session.BeginTransaction())
{
var userM=session.CreateCriteria(“usr”).List();
}
}