Используйте тип с неявным оператором для EF Core - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть класс, который инкапсулирует определенные требования для такой строки и использует оператор 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).

Возможно ли это?

...