I need to convert theses types using a ValueConverter for EF Core.
public class TypelyValueConverter<TValue, TTypelyValue> : ValueConverter<TTypelyValue, TValue> where TTypelyValue : ITypelyValue<TValue, TTypelyValue>{ public TypelyValueConverter() : base( v => v.Value, v => TypelyValue.From<TValue, TTypelyValue>(v)) { }}
public class TypelyValueConverter<TValue, TTypelyValue> : ValueConverter<TTypelyValue, TValue> where TTypelyValue : ITypelyValue<TValue, TTypelyValue>{ public TypelyValueConverter() : base( v => v.Value, v => TypelyValue.From<TValue, TTypelyValue>(v)) { }}
This works fine for value types. e.g.
public struct MyValueObject : ITypelyValue<int, MyValueObject>{...}
public struct MyValueObject : ITypelyValue<int, MyValueObject>{...}
. With an entity :
public class MyEntity{ public MyValueObject Prop1 {get; set;} //ok public MyValueObject? Prop2 {get; set;} //Error}
public class MyEntity{ public MyValueObject Prop1 {get; set;} //ok public MyValueObject? Prop2 {get; set;} //Error}
When I make my value object nullable, the property becomes a reference type and I'm confused of how I can handle saving a null value to the database with the type converter.
Typely lets you create types easily with a fluent API to embrace Domain-driven design and value objects. - Typely/ITypelyValue.cs at main · adampaquette/Typely