本系列实现目的:基于Photon Server实现注册于登录
一、拷贝Nbibernate项目的文件到MyGamerServer项目中。

二、数据库新建表,结构如下

三、修改文件名和配置
(1)、将拷贝的文件修改一下名字(不是必须)。修改为与User相关的。注意:修改文件下的包名也得修改,由 Nbibernate.l 修改为MyGameServer.

(2)、Model文件调整。目录 Model/下的User.cs文件字段修改为与数据库users表字段相同
namespace MyGameServer.Model
{
public class User
{
//字段跟数据库表列一样
public virtual int Id { get; set; }
public virtual string UserName { get; set; }
public virtual string Password { get; set; }
public virtual string RegisterDate { get; set; }
}
}
(3)、映射文件 Mappings/ 目录下的User.hbm.xml 修改
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="MyGameServer"
namespace="MyGameServer.Model">
<class name="User" table="users">
<id name="Id" column="id" type="Int32">
<generator class="native" />
</id>
<property name="UserName" column="username" type="String" />
<property name="Password" column="password" type="String" />
<property name="RegisterDate" column="registerdate" type="String" />
</class>
</hibernate-mapping>
四、测试一下
在项目文件 MyGameServer.cs文件Setup()方法中添加测试代码
//服务器启动时调用
protected override void Setup()
{
LogManager.SetLoggerFactory(Log4NetLoggerFactory.Instance);
GlobalContext.Properties["Photon:ApplicationLogPath"] = Path.Combine(ApplicationRootPath, "log");
GlobalContext.Properties["LogFileName"] = "MySer_" + ApplicationName;
XmlConfigurator.ConfigureAndWatch(new FileInfo(Path.Combine(BinaryPath, "log4net.config")));
log.Info("MyGameServer start----------");
//测试数据库代码
UserManager userManager = new UserManager();
User user = new User(){UserName = "ffff", Password = "dwwww"};
userManager.Add(user);
}
重新编译项目,将bin/Debug 下的文件拷贝到服务器上 deploy/MyGameServer/bin/ 目录下。(可能需要先停止服务)。在启动服务,查看数据库。
