0

我将 RavenDB 设置为我在 MVC 项目中选择的数据库。目前注册流程如下:

    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public ActionResult Register(RegisterModel model)
    {
        if (ModelState.IsValid)
        {
            // Attempt to register the user
            try
            {
                WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
                WebSecurity.Login(model.UserName, model.Password);
                return RedirectToAction("Index", "Home");
            }
            catch (MembershipCreateUserException e)
            {
                ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
            }
        }

我的数据库逻辑类中有一个方法,用于存储用户对象,例如User

    public void SaveEntity(ModelBase entity)
    {
        using (var session = DocumentStore.OpenSession())
        {
            session.Store(entity);
            session.SaveChanges();
        }
    }

ModelBase是可以保存到数据库中的所有内容的基础对象,包含用户名、密码、电子邮件等属性的 User 类也将是将被保存的对象之一。

我的SaveEntity方法就够了吗?以及我需要如何更改Register才能使用我的 SaveEntity` 方法来存储用户。我还想应用某种加密来存储密码。

4

1 回答 1

0

使用 RavenDB,一切都可以保存到数据库中,ModelBase 的东西没有真正的用处,它看起来像是 3 层架构时代的残余物。

您可能想阅读以下内容:http: //novuscraft.com/blog/ravendb-and-the-repository-pattern

还有这个,关于如何在 MVC 网站中使用 RavenDB - 有一种更简单的方法可以实现您正在寻找的 SaveEntity 功能:http ://ravendb.net/kb/3/using-ravendb-in-an-asp-网络 mvc 网站

于 2013-05-28T13:14:23.963 回答