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;}
...
}