powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / из DbFirst -> Code First
27 сообщений из 27, показаны все 2 страниц
из DbFirst -> Code First
    #38020640
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Сейчас есть модель, сгенеренная дизайнером EF 4.0. Хочется перевести ее в CodeFirst, но переписывать все сущности и отношения ручками мягко говоря не хочется и некогда. Есть ли инструмент для такого перехода?
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38020776
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответь на простой вопрос - тебе заняться нечем?
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38021017
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanВсем привет. Сейчас есть модель, сгенеренная дизайнером EF 4.0. Хочется перевести ее в CodeFirst, но переписывать все сущности и отношения ручками мягко говоря не хочется и некогда. Есть ли инструмент для такого перехода? Тут . Хотя я бы не поленился, и написал/взял готовый T4, генерирующий DbContext непосредственно из БД.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38023419
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

блин не работает у меня почему-то эта библиотека генерации... Буду копать. Проблема не такая острая, но решить надо.

МСУ,
я спрашиваю КАК, а не ЗАЧЕМ.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38024010
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanя спрашиваю КАК, а не ЗАЧЕМ.
А я спрашиваю ЗАЧЕМ, а не КАК.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38025558
Deza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanВсем привет. Сейчас есть модель, сгенеренная дизайнером EF 4.0. Хочется перевести ее в CodeFirst, но переписывать все сущности и отношения ручками мягко говоря не хочется и некогда. Есть ли инструмент для такого перехода?

this
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38030589
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deza,

вот именно этот плагин выдает у меня ошибку. Будем искать.

МСУ, до свидания.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38030713
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я дурачина , надо было сначала FW обновить. Теперь работает.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38066893
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну почему же он все сущности в базе генерит. Неужели нет более продвинутого инструмента?:(
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38067253
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanну почему же он все сущности в базе генерит. Неужели нет более продвинутого инструмента?:(Я взял T4-генератор из BLToolkit и заточил под себя. Он не сложный. Есть возможность фильтровать и преобразовывать метаданные как угодно.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38067647
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЯ взял T4-генератор из BLToolkit и заточил под себя. Он не сложный. Есть возможность фильтровать и преобразовывать метаданные как угодно.
Ну вот и начинаются свистопляски с бубенчиками... О чём я и говорил - манкей кодинг и допилинг идет прямиком на свалку.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38067825
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КЯ взял T4-генератор из BLToolkit и заточил под себя. Он не сложный. Есть возможность фильтровать и преобразовывать метаданные как угодно.
Ну вот и начинаются свистопляски с бубенчиками... О чём я и говорил - манкей кодинг и допилинг идет прямиком на свалку.Ну вот хочу я:

1. Чтобы имена свойств-ассоциаций сами генерировались как я хочу.
2. Чтобы типы всех свойств автоматически были Nullable<T>, независимо от их обязательности в БД. Разумеется, только для структур вроде int, DateTime и т. п.

Как мне это сделать со стандартным дизайнером/генератором?
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38067859
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЧто чё за херня? Они там что о себе думают?
авторError 1 Error 3031: Problem in mapping fragments starting at line 7593:Non-nullable column pers_base.TabNum in table pers_base is mapped to a nullable entity property.
C:\Projects\Src\_Tests\ConsoleApplication3\ConsoleApplication3\DbMainContext.edmx 7594 7611 ConsoleApplication3

Наверное я лучше них знаю, Nullable должно быть свойство или нет.

зы: Поэтому дизайнер бесит и не нужен.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38068064
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

у меня есть уже готовый проект с дизайнером. Очень хочется его перевести автоматически, пусть даже как есть. НО маппинг у меня не строится, ошибка какая- то (. Пока руками написать времени нет, да и сущностей не 10 штук.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38068067
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanАлексей К,

у меня есть уже готовый проект с дизайнером. Очень хочется его перевести автоматически, пусть даже как есть. НО маппинг у меня не строится, ошибка какая- то (. Пока руками написать времени нет, да и сущностей не 10 штук. и еще интересно - они в EF 6 будет "дизайнер", который POCO делает ?:)
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38070252
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan,

в ошибки был виноват Net 4 CTP June 2011,. как удалил - жизнь наладилась.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38072104
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38106243
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К

Затестировал работу EF дизайнера в VS2012 при создании и изменении EDMX модели на 1 тыс таблицах, результаты впечатляют - всё работает быстро. Раскидывает сущности по отдельным классам, а не в один. В общем я доволен.

Create Tables
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
DECLARE @i INT = 0, @sql nvarchar(4000), @prefix sysname

WHILE @i < 1000
BEGIN
   
   SET @prefix = RIGHT('0000' + CAST(@i as varchar), 4)

   SET @sql = 
	   'CREATE TABLE Table_' + @prefix + '(Id [int] IDENTITY(1,1) NOT NULL,
			[Title1] [nvarchar](50) NOT NULL,
			[Title2] [nvarchar](50) NOT NULL,
			[Title3] [nvarchar](50) NOT NULL,
			[Title4] [nvarchar](50) NOT NULL,
			[Title5] [nvarchar](50) NOT NULL,
			CONSTRAINT [PK_Table_' + @prefix + '] PRIMARY KEY CLUSTERED (Id ASC)
		) ON [PRIMARY]'


	EXEC sp_executesql @sql

	SET @i = @i + 1
END

...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38106363
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivannetivanАлексей К,

у меня есть уже готовый проект с дизайнером. Очень хочется его перевести автоматически, пусть даже как есть. НО маппинг у меня не строится, ошибка какая- то (. Пока руками написать времени нет, да и сущностей не 10 штук. и еще интересно - они в EF 6 будет "дизайнер", который POCO делает ?:)

А что в VS 2012 EF Designer не POCO генерит, по-моему POCO? Можно даже делать чтобы не проксированные возвращались и т. п.. К тому же, насколько я понял, можно свой tt прикрутить вместо стандартного. Есть API, которое по edmx позволяет лазить и много чего еще. Но пока это не копал честно говоря.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38106380
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мужики у меня тут к вам всем вопрос. При использовании EF Designer всякие сценарии Inheritance вроде TPT, TPH после подтягивания модели приходится подпиливать руками в дизайнере, править маппинги, создавать сущности и т. п.. Многие тут смотрю делали кастомные тулзы для генерации сущностей по БД с приминением Code First API. Вы потом также руками подправляете классы или как-то хитро конфигурите свою тулзу и она понимает где наследование и как таблицу(цы) разбивать на сущности и т. п..?
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38106393
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord British, ну во-первых рекомендую флюент маппинги. Во-вторых, есть же комплексность . В OnModelCreating говоришь модель билдеру ComplexType<T> и делов. Поизучай System.Data.Entity.Infrastructure, как раз пишется в Complex Types and the New Change Tracking API.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38106407
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Про это все знаю. Я не о том, щас минимальный примерчик схемы БД запилю. Я про Inheritance.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38106450
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord British, вот , вот и вот .
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38106509
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это тоже знаю. Вопрос не в этом. Вопрос вот в чем. На уровне схемы БД inheritance явно никак не декларируется (это всего лишь набор PK, FK, TABLES, иногда discriminator и т. п..). EF Designer подтягивает это как таблицы и связи и приходится руками ему помогать где Inheritance (tph, tpt), а где оставить в неизменном виде... Собственно вопрос был в том, ваши самописные тулзы также делают или как-то хитро понимают где в БД inheritance и генерят сразу правильный маппинг без необходимости допиливания руками? Или все же руками подправляете за ним?
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38106527
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord BritishИли все же руками подправляете за ним?
Вообще не люблю я эти декомпозиции. Всегда юзал и юзаю TPC-подход (Table per Concrete Type). Поэтому ни в дизайнере edmx, ни в кодефирсте такими вещами не заморачиваюсь. От лукавого всё это, имхо.
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38106658
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, ок. Просто такое может встретиться и в чужих схемах и т. п.. Вобщем интересны рассказы, кто как строит свои лисопеды, самосвалы. Привожу картинки для наглядности и понимания.

Пусть есть такой кусок в схеме БД (TPT Inheritance)



Скрипт


Код: sql
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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
CREATE TABLE [dbo].[ANIMAL](
	[ID_ANIMAL] [int] IDENTITY(1,1) NOT NULL,
	[NAME] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_ANIMAL] PRIMARY KEY CLUSTERED 
(
	[ID_ANIMAL] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[DOG](
	[ID_DOG] [int] NOT NULL,
	[DOG_SPEC_PROP1] [nvarchar](50) NOT NULL,
	[DOG_SPEC_PROP2] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_DOG] PRIMARY KEY CLUSTERED 
(
	[ID_DOG] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[CAT](
	[ID_CAT] [int] NOT NULL,
	[CAT_SPEC_PROP_1] [nvarchar](50) NULL,
	[CAT_SPEC_PROP_2] [nvarchar](50) NULL,
 CONSTRAINT [PK_CAT] PRIMARY KEY CLUSTERED 
(
	[ID_CAT] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[CAT]  WITH CHECK ADD  CONSTRAINT [FK_CAT_ANIMAL] FOREIGN KEY([ID_CAT])
REFERENCES [dbo].[ANIMAL] ([ID_ANIMAL])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[CAT] CHECK CONSTRAINT [FK_CAT_ANIMAL]
GO

ALTER TABLE [dbo].[DOG]  WITH CHECK ADD  CONSTRAINT [FK_DOG_ANIMAL] FOREIGN KEY([ID_DOG])
REFERENCES [dbo].[ANIMAL] ([ID_ANIMAL])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[DOG] CHECK CONSTRAINT [FK_DOG_ANIMAL]
GO




EF Designer понимает это как:


Руками приходится обьяснять ему что это на самом деле так:


Так вот вопрос самописные тулзы также поступают, как EF Designer или у вас есть хитрые готовые алгоритмы анализа схемы, которые пилят годноту сразу?
...
Рейтинг: 0 / 0
из DbFirst -> Code First
    #38106670
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord British, не лей на радикал - это зло. Лучше сожми несколько и архивом приаттачь. Либо в пеинте смержи.
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / из DbFirst -> Code First
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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