0

我有一个带有User标记的类的 MVC 项目[Serializable]

这个User类继承自MongoRepository 的"Entity " 类。

但是,当我尝试User通过 StateServer 将类的实例保存到会话时,我收到一个错误,即对象不可序列化。

我是 MongoDB 和 MongoRepository 的新手,所以我不确定是否可以在这里做一些事情来使用户类的实例可序列化。

示例代码:

[Serializable]
public class SiteUser : Entity
{
   public string username { get; set; }
}

public ActionResult Index()
{
  MongoRepository<SiteUser> userRepo = new MongoRepository<SiteUser>();
  SiteUser user = userRepo.First(m => m.username == "myusername");
  Session["MyUser"] = user; // This won't work due to the "Entity" link.
  return View();
}
4

1 回答 1

1

实现IEntity接口,而不是继承自,Entity因此您不依赖于实体基类。

[Serializable]
public class SiteUser : IEntity
{
   public string Id { get; set; }
   public string username { get; set; }
}

此外,从 1.5.1 开始,Entity该类也被标记为 serializable

于 2013-07-09T09:20:32.460 回答