powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: Модели с enum...
1 сообщений из 1, страница 1 из 1
MVC: Модели с enum...
    #37657025
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как EF c CodeFirst заставить работать не просто со значением перечисления, а получать его значения из произвольного атрибута???

Поясню:

Например, есть модель:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    public enum PartnerCompetencesEnum
    {
        Carrier,
        Logistic
    }

    public class PartnerModel
    {
        public Guid id { get; set; }
        public string name { get; set; }
        public PartnerCompetencesEnum competence { get; set; }
    }



я так понимаю enum будет сделано от базового типа int... А нужно, чтоб в таблице был Guid...

Я поломал голову немного, и не придумал лучше чем объявить атрибут со значением Guid и добавить метод расширения для получения значения атрибута.. типа такого, например:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    public enum PartnerCompetencesEnum
    {
        [AmbientValue("49ED3267-3898-43df-9B6A-BA8157FC6C2E")]
        Carrier,
        [AmbientValue("6DDE530A-DDFB-4afd-B4F7-12D374650450")]
        Logistic
    }

    public static class Extensions
    {
        public static Guid Value(this Enum value)
        {
            AmbientValueAttribute[] va = (AmbientValueAttribute[])(value.GetType().GetField(value.ToString()).GetCustomAttributes(typeof(AmbientValueAttribute), false));
            return va.Length > 0 ? new Guid(va[0].Value.ToString()) : Guid.Empty;
        }
    }



но можно ли как-то сказать, собственно EF то, что надо именно этот самый гуид использовать?

или как-то по другому?

или прокатит только стандартно int и все?

или вообще я недопетриваю в использовании enum в моделях? тогда что делать?

мсдн поковырял, но ничего не нашел кроме грозных предупреждений о том, что никаких типов кроме целых в enum использовать крайне не рекомендуется....
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC: Модели с enum...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]