Using Entity Framework Core I want to reuse the same object for multiple database Users.
Entity framework core database models with one to one relation:
public class User {
   public int UserId {get;set;}
   ...
   public virtual UserData {get;set;}
}
public class UserData {
   public int UserDataId {get;set;}
   ...
   public int UserId {get;set;}
   [ForeignKey("UserId")]
   public virtual User User {get;set;}
}
_userData = ... 
_user = new List<User> 
{ 
   new User { 
      UserData = _userData,
      ...
   },
   new User {
      UserData = _userData,
      ...
   }
}
_context.User.AddRange(_user);
If I try to add the same UserData object twice the second one is ignored. If I clone the UserData object first (by implementing ICloneable) EF can insert the redundant UserData as desired.
Is there a smarter way without ICloneable?
The context:
public class MyDbContext : DbContext
{
   public DbSet<User> User {get;set;}
   
   public DbSet<UserData> UserData {get;set;}
   ...
}
