У меня есть класс, который инкапсулирует определенные требования для такой строки и использует оператор implicit
:
class MyClass
{
private string _value;
public MyClass(string value)
{
_value = value;
}
public static implicit operator string(MyClass cls)
{
return cls._value;
}
public static implicit operator MyClass(string value)
{
return new MyClass(value);
}
}
Как я могу использовать это в EntityFramework Core для обработки атрибута в модели данных как string
?
public class MyDataModel
{
[Key]
[MaxLength(12)]
public MyClass Id { get; set; }
public string Name { get; set; }
}
Моя цель - использовать MyClass
в качестве первичного ключа модели, который должен храниться как string
с максимальной длиной 12 в базе данных. Было бы еще лучше, если бы я мог так или иначе пропустить MaxLength(12)
.
Возможно ли это?