我有一个标有User
[Serializable]
类的MVC项目。
此User
类继承自文档中指示的MongoRepository's“Entity
”类。
但是,当我尝试通过StateServer将User
类的实例保存到会话时,我收到一个错误,指出该对象不可序列化。
我是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();
}
答案 0 :(得分:1)
实施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。