I have two entities and 2 matching tables on SQL local database. User and address, I am trying to update users address information but nothing happens when I run the code, no errors but no data is saved on address table either.
namespace Entities.Concrete
{
public class User : IEntity
{
public int Id { get; set; }
[Required(ErrorMessage = "Username Required")]
public string Username { get; set; }
[Required(ErrorMessage = "Email Required")]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required(ErrorMessage = "Password Required")]
public string Password { get; set; }
public int Role { get; set; }
public virtual Address Address { get; set; }
}
}
namespace Entities.Concrete
{
public class Address : IEntity
{
[ForeignKey("User")]
[Key]
public int UserID { get; set; }
public string Country { get; set; }
public string City { get; set; }
public string DetailedAddress { get; set; }
public virtual User User { get; set; }
}
}
public class EfUserDal : EfEntityRepositoryBase<User,InternshipAppContext>, IUserDal
{
public void UpdateAddress(User user)
{
using (InternshipAppContext context = new InternshipAppContext())
{
context.Users.Attach(user);
context.Entry(user).Reference(u => u.Address).IsModified = true;
context.SaveChanges();
}
}
}
The DB diagram:
