我当前的网站使用两个数据库,一个直接存储用户,另一个使用用户电子邮件存储其他数据。我需要从另一个表中提取数据(标识号),所以我创建了一个像这样运行的模型:
ZivoyAccount.cs
namespace ZivoyPublicaciones.Models
{
public class ZivoyAccount
{
//Database for additional data
private PPublicEntities db = new PPublicEntities();
//Database with user roles
private zivoypostEntities userdb = new zivoypostEntities();
public Int64 UserIdentification {
get {
//Get the User Identity
String UserIdentity = HttpContext.Current.User.Identity.GetUserId();
var UserData = userdb.AspNetUsers.Find(UserIdentity);
//Get the User Email
var UserEmail = UserData.Email;
//Get the Data from Other Database
var ZivoyUserData = db.Users.Find(UserEmail);
return ZivoyUserData.user_gkey;
}
}
}
}
但我一直在阅读这不是正确的行为,因为为所有用户设置了这些变量,我需要为每个用户设置它们。我怎么能做到这一点?
我在父控制器上调用我的模型,以便我可以在所有子控制器上使用此变量
AuthorizationController.cs
namespace ZivoyPublicaciones.Controllers
{
[Authorize]
public class AuthorizationController : Controller
{
protected ZivoyAccount UserProfiler = new ZivoyAccount();
}
}