EF is mass updating my entire object. Its even going so far to update things incorrectly. I’m getting my enum value set to ‘Male’ when it should be ‘M’…
<code>public enum AvatarGender
{
[Description("M")]
Male = 0,
[Description("F")]
Female = 1
}
</code>
<code>public enum AvatarGender
{
[Description("M")]
Male = 0,
[Description("F")]
Female = 1
}
</code>
public enum AvatarGender
{
[Description("M")]
Male = 0,
[Description("F")]
Female = 1
}
I’ve literally told EF it has a conversion:
<code>modelBuilder.Entity<PlayerAvatarData>()
.Property(e => e.Gender)
.HasConversion(
v => v.ToString(),
v => EnumHelpers.GetEnumValueFromDescription<AvatarGender>(v));
</code>
<code>modelBuilder.Entity<PlayerAvatarData>()
.Property(e => e.Gender)
.HasConversion(
v => v.ToString(),
v => EnumHelpers.GetEnumValueFromDescription<AvatarGender>(v));
</code>
modelBuilder.Entity<PlayerAvatarData>()
.Property(e => e.Gender)
.HasConversion(
v => v.ToString(),
v => EnumHelpers.GetEnumValueFromDescription<AvatarGender>(v));
What more do I need to tell this silly framework for it to finally get the point?
(Time of AI, AI better, Computers know better, Humans suck, AI better, AI knows better, EF superior loooool).
It happens when saving data like:
<code>player.AvatarData.Motto = newMotto;
dbContext.PlayerAvatarData.Update(player.AvatarData);
await dbContext.SaveChangesAsync();
</code>
<code>player.AvatarData.Motto = newMotto;
dbContext.PlayerAvatarData.Update(player.AvatarData);
await dbContext.SaveChangesAsync();
</code>
player.AvatarData.Motto = newMotto;
dbContext.PlayerAvatarData.Update(player.AvatarData);
await dbContext.SaveChangesAsync();
New contributor
adam says is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.