StateServer中的MongoRepository实体

时间:2013-07-08 15:48:33

标签: c# mongodb mongodb-.net-driver mongorepository

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

User类继承自文档中指示的MongoRepository'sEntity”类。

但是,当我尝试通过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();
}

1 个答案:

答案 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