Я думаю, что вы ищете:
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);
}
Если вы еще не внесли изменения на стороне БД / модели, вам нужно будет пролить свет на то, какую парадигму вы выбрали - сначала БД или сначала код, чтобы я мог помочь вам