Я строю отношения один-к-одному, используя Entity Framework, Automapper и шаблон Asp.net. Однако, если я пытаюсь связать определенный класс с классом ABPuser, карта не происходит - свойство становится пустым.
Кто-нибудь знает, возможно ли иметь такую ассоциацию?
Спасибо!
Я уже сделал другую ассоциацию, которая работает хорошо. Но если я попробуючтобы сделать то же самое, но с использованием класса abpuser, свойство остается пустым.
public class User : AbpUser<User> {
public const string DefaultPassword = "123qwe";
public virtual BusinessUnit BusinessUnit { get; protected set; }
public virtual Guid? BusinessUnitId { get; protected set; }
public static string CreateRandomPassword()
{
return Guid.NewGuid().ToString("N").Truncate(16);
}
public static User CreateTenantAdminUser(int tenantId, string emailAddress, string password)
{
var user = new User
{
TenantId = tenantId,
UserName = AdminUserName,
Name = AdminUserName,
Surname = AdminUserName,
EmailAddress = emailAddress,
Password = new PasswordHasher().HashPassword(password)
};
user.SetNormalizedNames();
return user;
}
}
public class BusinessUnit : FullAuditedEntity<Guid>, IMustHaveTenant
{
public virtual int TenantId { get; set; }
[Required]
[StringLength(100)]
public virtual string Title { get; protected set; }
public virtual Guid? ParentBusinessUnitId { get; protected set; }
public virtual BusinessUnit ParentBusinessUnit { get; protected set; }
public virtual long? HeadId { get; protected set; }
public virtual User Head { get; protected set; }
public virtual bool IsGlobalBusinessUnit { get; protected set; }
}
public class ConvergeDbContext : AbpZeroDbContext<Tenant, Role, User>
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//Configures one-to-many relationship Business Unit => Parent Business Unit
modelBuilder.Entity<BusinessUnit>().
HasOptional(e => e.ParentBusinessUnit).
WithMany().
HasForeignKey(m => m.ParentBusinessUnitId)
.WillCascadeOnDelete(false);
modelBuilder.Entity<BusinessUnit>().
HasOptional(e => e.Head).
WithMany().
HasForeignKey(m => m.HeadId)
.WillCascadeOnDelete(false);
}}