我已经为MVC的身份模型添加了一个新字段,
public class ApplicationUser : IdentityUser
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int AccountID { get; set; }
public int JeAdmin { get; set; }
public Ekipa Ekipa { get; set; }
}
我的ekipa课程包括以下内容:
public class Ekipa
{
public int id { get; set; }
public string Ime { get; set; }
public int LeaderID { get; set; }
public int Geslo { get; set; }
}
如何将从数据库获取的对象设置为登录用户? 我得到了当前的用户,
ApplicationDbContext db = new ApplicationDbContext();
var currentUserId = User.Identity.GetUserId();
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
var currentUser = manager.FindById(User.Identity.GetUserId());
EkipaDb db1 = new EkipaDb();
currentUser.Ekipa = db1.Ekipa.Where(m => m.id == 1);
如何从ID为1的EkipaDb获取对象,并将其添加到当前用户?
答案 0 :(得分:0)
您无法将对象添加到数据库表的列中 - 但您可以添加外键。
添加:
public int EkipaId { get; set; }
将Ekipa对象设为虚拟:
[ForeignKey("EkipaId")]
public virtual Ekipa Ekipa { get; set; }
这会将Id
对象的Epika
存储在ApplicationUser
表中,您可以在加载ApplicationUser
时使用导航属性来检索对象本身。