我有一个带有标记为[Serializable]的User类的MVC项目。
按照文档中的说明,此User类继承自MongoRepository's "Entity“类。
但是,当我尝试通过StateServer将User类的实例保存到session时,我得到一个错误,即该对象不可序列化。
我是MongoDB和MongoRepository的新手,所以我不确定是否可以在这里做些什么来使user类的实例可序列化。
示例代码:
[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();
}发布于 2013-07-09 17:20:32
实现接口IEntity,而不是从Entity继承,这样你就不需要依赖实体基类了。
[Serializable]
public class SiteUser : IEntity
{
public string Id { get; set; }
public string username { get; set; }
}另外,从1.5.1开始,Entity类就是also marked as serializable了。
https://stackoverflow.com/questions/17530839
复制相似问题