Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / C# EF Code First cascade delete / 18 сообщений из 18, страница 1 из 1
09.12.2014, 06:45
    #38828565
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
Здравствуйте.

Подскажите пожалуйста, как при помощи DataAnnotation изменить свойство cascade delete в EF Code First.
Код: c#
1.
2.
3.
4.
5.
6.
7.
...
public int IdTable { get; set; }
[Required]
[InverseProperty("Tables")]
[ForeignKey(IdTable)]
public Tab Tab{ get; set; }
...
...
Рейтинг: 0 / 0
09.12.2014, 10:46
    #38828684
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
NechtoПодскажите пожалуйста, как при помощи DataAnnotation изменить свойство cascade delete в EF Code First.

Никак.
...
Рейтинг: 0 / 0
09.12.2014, 17:53
    #38829371
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
hVosttNechtoПодскажите пожалуйста, как при помощи DataAnnotation изменить свойство cascade delete в EF Code First.
Никак.

И действительно не как. Без маппинга, выходит не обойтись

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
     modelBuilder.Entity<TempTable>()
          .HasRequired(s => s.Tab)
          .WithMany()
          .WillCascadeOnDelete(true);

     base.OnModelCreating(modelBuilder);
} 
...
Рейтинг: 0 / 0
10.12.2014, 20:30
    #38830681
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
А чем так испугал маппинг?
...
Рейтинг: 0 / 0
10.12.2014, 21:17
    #38830722
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
МСУА чем так испугал маппинг?

Не декларативненько. Хотя никто не мешает добавить свои атрибуты и соглашения.
...
Рейтинг: 0 / 0
10.12.2014, 23:26
    #38830767
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
hVosttМСУА чем так испугал маппинг?
Не декларативненько.
Да какая разница. Функционал есть и это главное.
...
Рейтинг: 0 / 0
11.12.2014, 01:11
    #38830812
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
МСУДа какая разница. Функционал есть и это главное.

Разница есть. Хочется иметь полное представление, глядя на определение объекта, а не стряпать у себя в голове кашу из атрибутов и отдельно нарисованного маппинга — какое в этом есть удовольствие?
...
Рейтинг: 0 / 0
11.12.2014, 09:25
    #38830940
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
hVosttМСУДа какая разница. Функционал есть и это главное.
Разница есть. Хочется иметь полное представление, глядя на определение объекта, а не стряпать у себя в голове кашу из атрибутов и отдельно нарисованного маппинга — какое в этом есть удовольствие?
Разницы нет. Это не каша, а реализация маппинга.
...
Рейтинг: 0 / 0
11.12.2014, 10:33
    #38831016
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
МСУРазницы нет. Это не каша, а реализация маппинга.

Т.е. ты не пользуешься атрибутами типа [Required], только тру Fluent?
...
Рейтинг: 0 / 0
11.12.2014, 11:52
    #38831139
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
hVosttМСУРазницы нет. Это не каша, а реализация маппинга.
Т.е. ты не пользуешься атрибутами типа [Required], только тру Fluent?
Да, только флюент, он более мощный и решает 100% задач, конфигурацию можно вынести в отдельный слой / класс. То есть имеем чистые поко, а конфа идет отдельно. Мне больше по душе именно такой вариант. Он чистый и лаконичный. Точно так же в OData я через флюент конфигурирую IEdmModel.
...
Рейтинг: 0 / 0
11.12.2014, 12:59
    #38831284
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
МСУконфигурацию можно вынести в отдельный слой / класс

выбивал ржавым веником из одного новичка эту ересь, фу-фу-фу!! мета + соглашения рулят!
тибе просто никогда не приходилось поддерживать несколько СУБД, и видимо никогда не рпидётся. а если так то уж чо. делой свои ржавые богомерзкие флюенты
...
Рейтинг: 0 / 0
11.12.2014, 13:00
    #38831286
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
МСУТочно так же в OData я через флюент конфигурирую IEdmModel.

ты просто не умеешь работать с соглашениеями. они круче раз так в 600 этих флюентов. один раз напилил соглашений, подрубаешь сборку и получаешь всё сразу и на блюдешке.
...
Рейтинг: 0 / 0
11.12.2014, 14:03
    #38831370
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
hVosttМСУконфигурацию можно вынести в отдельный слой / класс
выбивал ржавым веником из одного новичка эту ересь, фу-фу-фу!! мета + соглашения рулят!
Эти соглашения - убийцы поко. Пойди и извинись перед новичком за преднамеренную тупость.

hVosttтибе просто никогда не приходилось поддерживать несколько СУБД, и видимо никогда не рпидётся. а если так то уж чо. делой свои ржавые богомерзкие флюенты
У нас обычно "поддерживают" СУБД отдельные DBA. Это так, на всякий случай. А по поводу "мерзких флюентов" с этого момента поподробнее. Каким образом флюент не способен "поддерживать" несколько СУБД?

hVosttМСУТочно так же в OData я через флюент конфигурирую IEdmModel.
ты просто не умеешь работать с соглашениеями. они круче раз так в 600 этих флюентов. один раз напилил соглашений, подрубаешь сборку и получаешь всё сразу и на блюдешке.
Просто ты не умеешь работать с OData. По-другому ты просто не сможешь сделать модель.
...
Рейтинг: 0 / 0
11.12.2014, 23:24
    #38831986
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
МСУЭти соглашения - убийцы поко. Пойди и извинись перед новичком за преднамеренную тупость.

Эти соглашения -- основной инструмент для конфигурирования EF, и в последней версии позволяют сконфигурировать как маппинг, так и кодогенерацию, по сути они позволяют гораздо больше, чем Fluent. С поко они никак не связаны, так как они универсальные. Ты просто не хочешь разобраться в предмете. Я понимаю, привычки и всё такое, но расти-то как-то надо. Рекомендую освоить технологию Conventions.

МСУУ нас обычно "поддерживают" СУБД отдельные DBA. Это так, на всякий случай. А по поводу "мерзких флюентов" с этого момента поподробнее. Каким образом флюент не способен "поддерживать" несколько СУБД?

Для разных СУБД могут быть разные соглашения. Fluent же всё прокатывает одним катком. Тем более соглашения имеют приоритеты и могу срабатывать как до Fluent, так и отменять действие Fluent полностью. Они универсальные и могу использоваться многократно, а Fluent -- нет (только мерзкий копипаст).

МСУПросто ты не умеешь работать с OData. По-другому ты просто не сможешь сделать модель.

Сказанное тобой означает, что ты даже на половину не знаешь как устроен и работает EF. Для работы OData как раз используются соглашения.
...
Рейтинг: 0 / 0
12.12.2014, 11:44
    #38832270
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
hVosttМСУЭти соглашения - убийцы поко. Пойди и извинись перед новичком за преднамеренную тупость.
Эти соглашения -- основной инструмент для конфигурирования EF, и в последней версии позволяют сконфигурировать как маппинг, так и кодогенерацию, по сути они позволяют гораздо больше, чем Fluent. С поко они никак не связаны, так как они универсальные. Ты просто не хочешь разобраться в предмете. Я понимаю, привычки и всё такое, но расти-то как-то надо. Рекомендую освоить технологию Conventions.
Расти, по всей видимости, придется тебе, ибо ты не понимаешь идеологию поко классов :)

http://msdn.microsoft.com/ru-ru/library/vstudio/dd456853(v=vs.100).aspx Сопоставление сущностей POCO не поддерживается в том случае, если к пользовательским классам данных применены какие-либо из атрибутов сопоставления


Атрибуты убивают идею POCO, я уже писал об этом.

hVosttДля разных СУБД могут быть разные соглашения. Fluent же всё прокатывает одним катком. Тем более соглашения имеют приоритеты и могу срабатывать как до Fluent, так и отменять действие Fluent полностью. Они универсальные и могу использоваться многократно, а Fluent -- нет (только мерзкий копипаст).
Сейчас по факту Fluent содержит в себе 100% функционал, в отличие от атрибутов. Атрибуты - это мусор в классах.

hVosttМСУПросто ты не умеешь работать с OData. По-другому ты просто не сможешь сделать модель.
Сказанное тобой означает, что ты даже на половину не знаешь как устроен и работает EF. Для работы OData как раз используются соглашения.
Не вижу противоречий. Для работы OData как-раз используется Fluent для конфигурации модели. Или ты сможешь сконфигурировать модель без Fluent?
...
Рейтинг: 0 / 0
12.12.2014, 12:23
    #38832316
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
МСУАтрибуты убивают идею POCO, я уже писал об этом.

эта унылая бестолковая бредятина уже мусолилась и на хабре, и в стековерфлоу. уже давно разумные личности послали этих идейщиков с поко-йокой в глубь лесов. EF прекрасно работает с атрибутами, с помощью атрибутов можно крайне чётко (необходимо и достаточно) выразить замысел ентити модели.

а флюент это однозначные костыли. не сохранилась ссылка, где авторы EF лично признавались в этом общественности.

вообще флюент был нужен, так как в начале механизм соглашений был деревянный и не кастомизируемый. в 6-ой версии они его таки допилили, так что флюент можно смело выкидывать на помойку истории и больше не вспоминать о нём.
...
Рейтинг: 0 / 0
12.12.2014, 12:25
    #38832319
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
МСУАтрибуты - это мусор в классах.

ты видимо об чото головой ударился
...
Рейтинг: 0 / 0
12.12.2014, 20:09
    #38832940
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# EF Code First cascade delete
hVosttа флюент это однозначные костыли. не сохранилась ссылка, где авторы EF лично признавались в этом общественности.
Твои бредни просто забавляют. Таки потрудись найти ссылку вместо языкочесания.

hVostt вообще флюент был нужен, так как в начале механизм соглашений был деревянный и не кастомизируемый. в 6-ой версии они его таки допилили, так что флюент можно смело выкидывать на помойку истории и больше не вспоминать о нём.
16970573

Хвост, кончай уже поносить, иногда кажется, что ты упорот. Серьёзно.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / C# EF Code First cascade delete / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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