|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
Всем привет, я только начинаю работать с Entity Framework и поэтому не со всем еще разобрался Есть такая задача, сделать связь между такими моделями моделями: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
причем надо сделать связь так, чтобы в базы была отдельная таблица данных по всем трем объектам, естественно их ID А вот как это сделать не создавая такую таблицу отдельно и не описывая дополнительной логики, я пока не разобрался ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2014, 06:45 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
VSirchenko, Во-первых, старайтесь следовать правилам наименования, принятых в EF, т.е. поле идентификатора должно быть таким: Id. Не ID не Object1ID или Object_ID, а Id. Во-вторых, связи описывайте с помощью virtual и ICollection<T>. Вот так правильно: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
При таком описании, EF сам создаст связи и, если надо, внешние ключи. Например, здесь не указан внешний ключ у Object2 на Object1, тогда EF сам создаст поле Object2.Object1_Id Следуйте принятым правилам наименования. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2014, 21:34 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
На счет того что нет ссылки в Object2 на Object1 - так ее и не должно быть, так как данные в таблице Object2s, должны быть в виде списка и связь с Object1 и Object3 должны иметь в другой таблице примерно по данным чтобы было понятно: Object1 - пусть будет каталогом, со списком Object2 Object2 - книги, которые не хранят данные в каком каталоге они находятся, это просто наименование книги, со ссылкой на Object3 Object3 - автор книги, тоже просто как наименование и не привязан к конкретной книге так вот мне надо чтобы в базе создалась таблице, в которой будут указаны ключи на каждый объект ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 06:59 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
VSirchenkoтак вот мне надо чтобы в базе создалась таблице, в которой будут указаны ключи на каждый объект Связь многие-ко-многим в EF реализуется следующим образом: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
При этом EF сам создаст таблицу с внешними ключами Object1Object2s (или Object2Object1s) в зависимости от порядка в котором идёт описание объектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 13:31 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
Используй внятную Database First, а не ковыряние в помоях. Многие вопросы сами собой отпадут. Сделай тестовую БД, сгенери по ней контекст, получи бесплатно классы и красивую картинку в дизайнере, радуйся. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 13:39 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
codearticles.ruИспользуй внятную Database First фу-фу-фу... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 14:07 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
hVosttcodearticles.ruИспользуй внятную Database First фу-фу-фу... Чем не устроила бесплатная генерация классов и красивая диаграмма? Ну если нравится на каждый чих упорно писать код, я не против. А я просто нажму кнопку обновить и схема получит изменения. Всё, можно дальше работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 15:35 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
codearticles.ruЧем не устроила бесплатная генерация классов и красивая диаграмма? Какая генерация классов? Зачем? Диаграмму по классам Visual Studio рисует очень красивую. Что ещё нужно? А что делать с юнит-тестированием? А как на счёт иерархий классов? Миграции? Независимость от БД? Как это в Database first укладывается? Никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 17:32 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
codearticles.ruНу если нравится на каждый чих упорно писать код, я не против. Классы данных, это основное ядро приложения. Какого рожна я должен отдавать самое важное на откуп какой-то убогой генерации? Я спроектирую классы таким образом, как мне удобно, а не какому-то упоротому генератору. Потом это легко зальётся в любую базу данных. С помощью механизма миграций можно тонко настроить критические места, расставить индексы, и это будет работать везде. codearticles.ruА я просто нажму кнопку обновить и схема получит изменения. Всё, можно дальше работать. Да хоть с какой стороны не подходи, надо схему делать. Либо в базе данных, либо кодом. Никакого профита. Ты кнопку нажимаешь, получаешь классы. Я кнопку нажимаю, получаю базу. Только в моём случае, я могу развернуть базу в Oracle, MS SQL, Postgre SQL, Firebird, MySQL, SQLite -- это будет везде работать, в твоём ты будешь плясать под дудку выбранного вендора. Нахера это надо? Не пойму, зачем себе изначально усложнять жизнь? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 17:38 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
codearticles.ru, И да, если мне попадётся проект, где надо писать программу для уже существующей БД, можно смело выбирать Database First. Совсем от этого способа я не отказываюсь. Но для нового проекта, только Code First. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 17:43 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
hVosttcodearticles.ruЧем не устроила бесплатная генерация классов и красивая диаграмма? Какая генерация классов? Зачем? Обычная генерация классов. Чтобы не писать их руками. hVosttДиаграмму по классам Visual Studio рисует очень красивую. Что ещё нужно? Ты упал что ли? Я про edmx, это не просто диаграмма, это конфигуратор всей схемы. hVosttА что делать с юнит-тестированием? А что с ним не так? hVosttА как на счёт иерархий классов? Иерархии классов были, есть и будут. А что? hVosttМиграции? Есть миграции. А что? hVosttНезависимость от БД? Конечно, всё тоже самое. MS SQL, Oracle и т.п. hVosttКак это в Database first укладывается? Никак. Почему не укладывается? Ты точно понимаешь, о чем я говорю? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 18:02 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
hVosttcodearticles.ru, И да, если мне попадётся проект, где надо писать программу для уже существующей БД, можно смело выбирать Database First. Совсем от этого способа я не отказываюсь. Но для нового проекта, только Code First. Вообще никакой разницы, новый проект или не новый. Это не имеет никакого отношения. Вопрос только в подходе. Никто мне не мешает сделать базу и слить схему в модель по одной кнопке. Так даже проще. А особое удобство начинается, когда у тебя уже сделана БД с нуля, приложение функционирует, в БД есть тестовые данные. И нужно писать новый функционал, изменять старый. Базу уже просто так не снесешь. Да и что за кретинизм, всё-время сносить БД, создавать схему заново и наполнять данными? А когда твоё приложение превращается в монстра, БД распухает в схеме и в данных, тогда плюсы Database First просто очевидны. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 18:06 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
hVosttcodearticles.ruНу если нравится на каждый чих упорно писать код, я не против. Классы данных, это основное ядро приложения. Какого рожна я должен отдавать самое важное на откуп какой-то убогой генерации? Я спроектирую классы таким образом, как мне удобно, а не какому-то упоротому генератору. Потом это легко зальётся в любую базу данных. С помощью механизма миграций можно тонко настроить критические места, расставить индексы, и это будет работать везде. Какие-то глупости. У нащелкаю в дизайнере тоже самое, что мне нужно. Сгенерятся классы, не хуже написанных руками. Да и зачем мне писать всё руками-то? Миграции я сам тебе любые напишу, в чем проблема-то? hVosttДа хоть с какой стороны не подходи, надо схему делать. Либо в базе данных, либо кодом. Никакого профита. Ну так сделай. Я быстрее схему сделаю, нащелкаю в Management Studio, чем ты неделю будешь ипаться с классами и их отношениями. Профит колоссальный. А вообще базу по феншую делает DB девелопер. Так что вообще всё упрощается. Всё тебе сделали, ты нажал кнопку, всё сгенерилось. hVosttЯ кнопку нажимаю, получаю базу. Только в моём случае, я могу развернуть базу в Oracle, MS SQL, Postgre SQL, Firebird, MySQL, SQLite -- это будет везде работать, в твоём ты будешь плясать под дудку выбранного вендора. Нахера это надо? Не пойму, зачем себе изначально усложнять жизнь? Я выше писал про оракл, всё работает. Будут работать и другие, не интересовался. Наверняка есть провайдеры. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 18:10 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
codearticles.ruОбычная генерация классов. Чтобы не писать их руками. А база данных сама что ли волшебным образом появляется? Давай посмотрим, с самого нуля. Database First 1. Открыть редактор базы данных 2. Создать базу данных 3. Создать таблицу(ы), определить набор полей 4. Создать проект в студии 5. Добавить edmx, настроить подключение, сгенерировать классы 6. Можно разрабатывать Code First 1. Создать проект в студии 2. Можно разрабатывать (добавляешь классы по мере необходимости не отходя от кассы) Что делать, если понадобилось добавить(изменить) класс/таблицу Database First 1. Открыть редактор базы данных 2. Добавить (открыть) таблицу, определить (изменить) набор полей 3. Перейти в студию, обновить схему 4. Починить то, что сломалось (например, если изменились наименования полей) 5. Продолжать разработку Code first 1. Добавить(изменить) класс 2. Продолжать разработку Что делать, если надо перенести разработку проекта на другой комп: Database First 1. Выгрузить базу (SQL или бекап) 2. Перенести файлы проекта и базы данных 3. Загрузить базу (SQL или бекап) 4. Настроить подключения 5. Продолжать разработку Code First 1. Перенести файлы проекты 2. Продолжать разработку ... Ну и в чём профит? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 18:15 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
codearticles.ruМиграции я сам тебе любые напишу, в чем проблема-то? Только что ты недавно говорил, что дескать зачем руками что-то делать. Так вот писать миграции руками - самое не благодарное дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 18:16 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
codearticles.ruЯ быстрее схему сделаю, нащелкаю в Management Studio, чем ты неделю будешь ипаться с классами и их отношениями. С какого перепуга? Добавляешь классы по мере разработки, ничего тебе не мешает. Это часть разработки, как само собой разумеющееся. Например, понадобился тебе клиент, создаешь класс class Client:Entity public string Name всё, попёр дальше. понадобилось добавить полей, добавил. перенёс, убрал. codearticles.ruА вообще базу по феншую делает DB девелопер. Так что вообще всё упрощается. Всё тебе сделали, ты нажал кнопку, всё сгенерилось. В таком случае да. Но у нас обычно всё идёт от разработки. DBA подключается по мере необходимости, и участвует в процессе разработки. Когда на первом месте данные (дата-драйвен), тогда разработка ведётся по методу сначала база данных. Но это редкие случаи. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 18:20 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
Может все таки вернемся с моему вопросу, как сделать то что мне надо, и так как я в своем случае использую Class First, то давайте плясать от сюда, а ваши разборки что лучше давайте обсуждать в другой теме ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 18:58 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
hVosttА база данных сама что ли волшебным образом появляется? Да, её делает db developer. Для тебя это и есть волшебство. Но даже если тебе перепадет эта работа, накликать таблички с отношениями в management studio куда приятнее ручного унылого гавнокода проекции в виде классов на C#. hVosttДавай посмотрим, с самого нуля. Database First 1. Открыть редактор базы данных 2. Создать базу данных 3. Создать таблицу(ы), определить набор полей 4. Создать проект в студии 5. Добавить edmx, настроить подключение, сгенерировать классы 6. Можно разрабатывать Code First 1. Создать проект в студии 2. Можно разрабатывать (добавляешь классы по мере необходимости не отходя от кассы) Первое - это дизайнеры и мастеры. Второе - это монотонная рутина. Пусть в первом варианте будет хоть 10 пунктов, я раз в 100 быстрее подниму валидную модель, чем ты будешь писать её врукопашную. Причем, тебе периодически нужно будет запускать проект, дебажить, смотреть косяки маппинга, исправлять. А я тупо открою management studio, создам в ней диаграмму, накликаю таблички, драг-н-дропом сделаю связи. Всё. Захожу в студию, рефрешусь, модель готова. hVosttЧто делать, если понадобилось добавить(изменить) класс/таблицу Database First 1. Открыть редактор базы данных 2. Добавить (открыть) таблицу, определить (изменить) набор полей 3. Перейти в студию, обновить схему 4. Починить то, что сломалось (например, если изменились наименования полей) 5. Продолжать разработку Code first 1. Добавить(изменить) класс 2. Продолжать разработку В твоем случае изменить класс не получится, куда это будет сохраняться? В космос? Тебе нужно править и классы, и залезать в БД и править там поле. А это двойной гемор. Постоянно следить там за миграциями и прочими радостями - это кретинизм чистой воды. Мне не нужно никуда следить, обновил модель и всё само построилось. hVosttЧто делать, если надо перенести разработку проекта на другой комп: Database First 1. Выгрузить базу (SQL или бекап) 2. Перенести файлы проекта и базы данных 3. Загрузить базу (SQL или бекап) 4. Настроить подключения 5. Продолжать разработку Code First 1. Перенести файлы проекты 2. Продолжать разработку Из edmx точно так же можно сгенерить базу данных. Во-вторых, чем тебе бэкап не нравится? Тоже отличный вариант. Не вижу никаких сложностей поднять базу. Или это проблема? hVosttНу и в чём профит? Профит в том, что я избавлен 100% от рутины и ручного кодирования. Меньшее число пунктов вовсе не означает, что задачу ты решишь быстрее и проще. С этим согласен? hVosttcodearticles.ruМиграции я сам тебе любые напишу, в чем проблема-то? Только что ты недавно говорил, что дескать зачем руками что-то делать. Так вот писать миграции руками - самое не благодарное дело. Писать миграции руками - самое не благодарное дело. Я это всегда говорил. В чем противоречие? Я тебе сказал, что миграции так же есть в моем варианте. Если надо - пиши. Не надо - не пиши. Мне не надо. hVosttС какого перепуга? Добавляешь классы по мере разработки, ничего тебе не мешает. Это часть разработки, как само собой разумеющееся. С обычного перепуга. За сколько накидаешь мне вот такой концепт из пару десятков таблиц? Я сделаю это 2 минуты. Аналитик вёл uml схему в том же enterprise architect, отдал мне готовую часть. Я тупо взял и выгрузил этот uml в БД. Из БД я сгенерил честный edmx и начал писать прикладной код. Итого 2 минуты. Сколько уйдет у тебя времени? Даже если сравнивать чистое время management studio vs гавнокод на C#, я выбираю первый вариант. Во-первых, его сможет накликать через management studio даже студент. Порог вхождения минимален. То есть эту задачу можно поручить хоть обезьяне. Во-вторых, куда приятнее драг-н-дропом набрасывать схему, чем сидеть потеть писать говнокод, тестировать его, снова писать. hVosttВ таком случае да. Но у нас обычно всё идёт от разработки. DBA подключается по мере необходимости, и участвует в процессе разработки. Когда на первом месте данные (дата-драйвен), тогда разработка ведётся по методу сначала база данных. Но это редкие случаи. Да какая разница, кто куда подключается. Схема может прийти откуда угодно, от заказчика например. С ней можно делать что угодно, в том числе и генерировать проксю. И это прекрасно. А у тебя что не изменение, то ныряй снова в гавнокод. В топку. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 20:06 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
codearticles.ruПервое - это дизайнеры и мастеры. Второе - это монотонная рутина. Пусть в первом варианте будет хоть 10 пунктов, я раз в 100 быстрее подниму валидную модель, чем ты будешь писать её врукопашную. Причем, тебе периодически нужно будет запускать проект, дебажить, смотреть косяки маппинга, исправлять. А я тупо открою management studio, создам в ней диаграмму, накликаю таблички, драг-н-дропом сделаю связи. Всё. Захожу в студию, рефрешусь, модель готова. Если у тебя изначально базу данных делает кто-то другой, да ещё и вперёд батьки, о чём вообще спор? Code First подразумевает, что никакой базы данных ещё нет. И до какого-то момента она даже и не нужна. Более того, приложение может работать вообще без базы данных, до тех пор пока не будет сгенерирована и подключена. В этом вся соль ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 20:42 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
codearticles.ruВ твоем случае изменить класс не получится, куда это будет сохраняться? В космос? Тебе нужно править и классы, и залезать в БД и править там поле. А это двойной гемор. Постоянно следить там за миграциями и прочими радостями - это кретинизм чистой воды. Мне не нужно никуда следить, обновил модель и всё само построилось. Ниче не надо. Изменил класс и продолжил разработку. Когда надо, запустится либо автоматическая миграция, либо создашь миграцию одной командой в нугет. В чем проблемы-то? Главное, всё под контролем. codearticles.ruИз edmx точно так же можно сгенерить базу данных. Во-вторых, чем тебе бэкап не нравится? Тоже отличный вариант. Не вижу никаких сложностей поднять базу. Или это проблема? Проблема в высокой связности. Зачем мне на этапе разработки возиться с бекапами? Я вообще-то с классами работаю. Таблицы в базе данных -- это всего лишь способ хранения, зачем ходить задом наперёд? Раньше так и разрабатывали приложения, сам активно в таком процессе учавствовал. Сначала пилится схема БД, потом от неё все пляшут. Сейчас наоборот и за последние 3 года, могу сказать с полной уверенностью -- стало лучше, результат намного качественней и гораздо быстрее достигается. Мне вообще не доставляет прыгать туда-сюда между схемой базы данных и проектом приложения, особенно если система сложная. Я работаю с классами, и сам решаю в какую иерархию и как они должны выстраиваться, а не какой-то генератор. codearticles.ruПрофит в том, что я избавлен 100% от рутины и ручного кодирования. Меньшее число пунктов вовсе не означает, что задачу ты решишь быстрее и проще. С этим согласен? От какой рутины ты избавлен? От того, что ты грубо говоря классы создашь в дизайнере базы данных? Иерархию объектов как будет строить? Например, у меня есть: public class Profile {} и парочку public class ClientProfile {} public class LeadProfile {} как ты получишь такую иерархию из базы данных? одной кнопкой? codearticles.ruобычного перепуга. За сколько накидаешь мне вот такой концепт из пару десятков таблиц? Я сделаю это 2 минуты. В дизайнере базы данных? Насмешил. codearticles.ruТо есть эту задачу можно поручить хоть обезьяне. Во-вторых, куда приятнее драг-н-дропом набрасывать схему, чем сидеть потеть писать говнокод, тестировать его, снова писать. Юнит-тесты, это не про тебя, да? У нас CI с покрытием, близким к 100% на выпуске. Как это согласуется с клацанием мышкой, не понимаю. codearticles.ruДа какая разница, кто куда подключается. Схема может прийти откуда угодно, от заказчика например. С ней можно делать что угодно, в том числе и генерировать проксю. И это прекрасно. А у тебя что не изменение, то ныряй снова в гавнокод. В топку. Схема приложения сложней, чем схема базы данных. У нас всё в одном пакете, на одной модели, в одной вотчине, и нет зависимости ни от какой базы и менеджера баз. Задачи чётко разделены. Все манипуляции со схемами и UML точно также применимы и в отношении кода, даже более того, для кода они подходят гораздо лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 20:55 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
hVosttЕсли у тебя изначально базу данных делает кто-то другой, да ещё и вперёд батьки, о чём вообще спор? Code First подразумевает, что никакой базы данных ещё нет. И до какого-то момента она даже и не нужна. Более того, приложение может работать вообще без базы данных, до тех пор пока не будет сгенерирована и подключена. В этом вся сольПредставляю эту "базу данных", которую создаст "упоротый генератор" по коду-фест. Неужели лучше, чем архитектор? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 20:56 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
Relic HunterhVosttЕсли у тебя изначально базу данных делает кто-то другой, да ещё и вперёд батьки, о чём вообще спор? Code First подразумевает, что никакой базы данных ещё нет. И до какого-то момента она даже и не нужна. Более того, приложение может работать вообще без базы данных, до тех пор пока не будет сгенерирована и подключена. В этом вся сольПредставляю эту "базу данных", которую создаст "упоротый генератор" по коду-фест. Неужели лучше, чем архитектор? Database First и Code First это два совершенно разных подхода к разработке ПО. В одном случае, сначала архитектор проектирует базу данных, затем пишется код. В другом случае сначала пишется код, а реальная модель получается исходя из особенностей реализации и концептуальной модели. Единственно правильного подхода среди них нет. Мы применяем оба, но гораздо чаще Code First, когда заранее на 100% солидную модель спроектировать невозможно в виду того, что разработка ведётся по методологии CI, с наращиванием функционала. Экономически Code First гораздо выгоднее (чаще всего), но для некоторых задач применяется классический подход. Вот и всё. Любые заявления что тот или иной способ является единственно верным и правильным, выдают полнейшее дилетанство заявителя, не способность осилить больше одного подхода, и летят в топку. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 21:06 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
hVostt, Приложение - это все фигня. Его могут выкинуть/переписать уже завтра. А бизнесс-данные будут жить вечно, пока существует бизнес. И цена ошибки неправильно спроектированной БД несопоставимо выше, чем приложения. Из-за криво спороектированной БД и код получасется кривым. На что разрабы сетуют: ну что мы можем сделать? так было спроектированно. Часто приходилось видеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 21:16 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
Relic HunterhVostt, Приложение - это все фигня. Его могут выкинуть/переписать уже завтра. А бизнесс-данные будут жить вечно, пока существует бизнес. И цена ошибки неправильно спроектированной БД несопоставимо выше, чем приложения. Из-за криво спороектированной БД и код получасется кривым. На что разрабы сетуют: ну что мы можем сделать? так было спроектированно. Часто приходилось видеть. Универсального рецепта не существует. О CodeFirst говорю не по наслышке, разработано, выпущено и продано уже больше десятка бизнес-приложений, компания получила прибыль, разработчики получили и продолжают получать свою достойную зарплату, клиенты получили результат, которым вполне довольны. Часть ПО находится на сопровождении, часть ПО продолжает развиваться согласно поступающим требованиям, никто не не жаловался. Есть проекты, разработанные и со стороны данных, это data-driven приложения с заранее чёткой, продуманной структурой данных, не подверженной изменениям, с повышенными критериями к производительности и целостности. Так что говорю как есть. Можно почитать о том как надо, а я говорю как есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 21:36 |
|
Entity Framework создание связи через Fluent API
|
|||
---|---|---|---|
#18+
Relic HunterИз-за криво спороектированной БД и код получасется кривым. Вот именно поэтому Code First зачастую лучше, схема изначально лишена избыточности, и содержит только то, что реально используется и будет использоваться и с учётом того, как это будет использоваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2014, 21:45 |
|
|
start [/forum/topic.php?fid=17&msg=38757452&tid=1349705]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
154ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 277ms |
0 / 0 |