создание новой записи, включающей значение, ранее сохраненное и извлеченное из кеша MVC3 - PullRequest
1 голос
/ 27 ноября 2011

Я новичок, пытающийся овладеть навыком создания asp.net mvc3 c # с Visual Studio 2010. Сейчас я изучаю управление членством и использую поставщика членства по умолчанию. У меня есть дополнительные поля, которые я решил сохранить в новой таблице и связать с уникальным ключом членства. Я могу получить это значение и сохранить в кеше. Теперь я не знаю, как сделать уникальный идентификатор частью коллекции форм и сохранить его в базе данных. У меня есть созданный вид с использованием скаффолдинга и бритвы. Я создал помощника для кэширования, который может быть вызван, когда и где требуется

Helpers objHelper = new Helpers();
Guid UserID = objHelper.GetCachedUserID(HttpContext.Current.User.Identity.Name);

Буду признателен за любую подробную помощь для новичка.

1 Ответ

0 голосов
/ 27 ноября 2011

Я думаю, что вы ищете:

Membership.GetUser("username").ProviderUserKey.ToString();

Однако, похоже, вы выбрали совершенно нестандартный способ ведения дел.Что вы имеете в виду, говоря, что вы храните значение в кэше?

Кроме того, если вы ищете способ хранения дополнительной информации о каждом пользователе - есть механизм поставщика профилей, который позволяет вам это делать.Проверьте информацию по адресу: http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx

Отвечая на ваш вопрос из комментария ниже:

Если Unique UserKey уже является частью вашей модели БД, то вы можете сделать это следующим образом:

    [HttpPost]
    public ActionResult Create(PJCountry PJCountry)
    {
        if (ModelState.IsValid) 
        {   
            // adds current user's key
            PJcountry.YourUserKey = Membership.GetUser().ProviderUserKey.ToString();
            db.PJCountries.Add(PJcountry); 
            db.SaveChanges(); 
            return RedirectToAction("Index"); 
        } 
        return View(PJCountry);
    }

Если вы еще не внесли изменения на стороне БД / модели, вам нужно будет пролить свет на то, какую парадигму вы выбрали - сначала БД или сначала код, чтобы я мог помочь вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...