powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / c# code first dataannotation работа с decimal
9 сообщений из 9, страница 1 из 1
c# code first dataannotation работа с decimal
    #38845175
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Подскажите пожалуйста как при помощи dataannotation установить свойства decimal.

[DecimalPrecision(10,2)]
public decimal MyDecimalProperty { get; set; }

Делаю так, не выходит. DecimalPrecision почему-то не определяется, не может найти данной класса в библиотеке DataAnnotation.
...
Рейтинг: 0 / 0
c# code first dataannotation работа с decimal
    #38845184
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак. Только через Fluent API или соглашения.
...
Рейтинг: 0 / 0
c# code first dataannotation работа с decimal
    #38845186
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Соглашение, это как? Подскажите пожалуйста?
...
Рейтинг: 0 / 0
c# code first dataannotation работа с decimal
    #38845189
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NechtoСоглашение, это как? Подскажите пожалуйста? Custom Code First Conventions
...
Рейтинг: 0 / 0
c# code first dataannotation работа с decimal
    #38845191
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно, если не нравится Fluent API, можно сделать свой атрибут и соглашение.
...
Рейтинг: 0 / 0
c# code first dataannotation работа с decimal
    #38845198
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, буду пробовать.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
c# code first dataannotation работа с decimal
    #39156191
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей КСобственно, если не нравится Fluent API, можно сделать свой атрибут и соглашение.
База растет и через Fluent API, код разростается.

Вот решил все таки пойти через атрибут и соглашение.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
// Сущность
public class Test
{
     [DecimalPrecisionAttribute(10, 4)]
     public decimal calc { get; set; }
}

// Расширение
public class DecimalPrecisionAttribute : Attribute
{
    public DecimalPrecisionAttribute(int d, int s)
    {            
    }
}
public class DecimalPrecisionConvention : Convention
{
    public DecimalPrecisionConvention()
    {
            Properties() [ ... ] .Configure(c => ...);
    }
}

// DbContext
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
      modelBuilder.Conventions.Add<DecimalPrecisionConvention>();
      base.OnModelCreating(modelBuilder);
}



Вот что нашел в инете, только вот не могу понять как это все увязать. Подскажите пожалуйста.
...
Рейтинг: 0 / 0
c# code first dataannotation работа с decimal
    #39156192
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    public class DecimalPrecisionAttribute : Attribute
    {
        public byte Precision { get; private set; }

        public byte Scale { get; private set; }

        public DecimalPrecisionAttribute(byte precision, byte scale)
        {
            Precision = precision;
            Scale = scale;
        }
    }

    public class DecimalPrecisionConvention : PrimitivePropertyAttributeConfigurationConvention<DecimalPrecisionAttribute>
    {
        public override void Apply(ConventionPrimitivePropertyConfiguration configuration, DecimalPrecisionAttribute attribute)
        {
            configuration.HasPrecision(attribute.Precision, attribute.Scale);
        }
    }
...
Рейтинг: 0 / 0
c# code first dataannotation работа с decimal
    #39156194
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Алексей! Новосибирск так держать!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / c# code first dataannotation работа с decimal
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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