Naster
Naster
CC#
Created by Naster on 6/28/2024 in #help
✅ What are repetitive tasks that you do in a web interface that you would automate?
What is the task? How much hours would you save per week?
2 replies
CC#
Created by Naster on 4/25/2023 in #help
✅ Generic nullable type
I have an interface ITypelyValue<TValue, TTypelyValue> that let me create validated value objects. 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>{...}. 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. Other ref: https://github.com/adampaquette/Typely/blob/main/src/Typely.Core/ITypelyValue.cs
2 replies