Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > L2S Object First


Автор: SLeN 23.6.2009, 14:12
Что то в той документации которую я нашел по L2S везде пропагандировалось BD first с последующими небольшими изменениями  сущностей.

К примеру у меня есть простой класс Category с двумя ассоциациями many-to-one  & one-to-one

после чего я создал устраивающий этот класс таблицу в БД.

Как построить маппинг между ними?

Автор: Idsa 23.6.2009, 14:19
SLeN, если меня не подводит мой склероз, в этом случае маппинг будет храниться в xml-файле. Для того чтобы получить этот файл, нужно скормить dbml-файл утилите sqlmetal.

Автор: SLeN 23.6.2009, 14:37
Тоесть я натравливаю sqlmetal на бд с флагом /map получаю mapFile и изменяю его так чтоб отражение таблиц указывало на мои бизнес класы?

Автор: PashaPash 23.6.2009, 16:28
SLeN, да, только учти что sqlmetal вписывает в mapping много лишнего. Для простого маппинга хватает куска <Column Name="..." Member="...." /> для каждой колонки. А sqlmetal впишет еще DbType, чтобы ты мог при необходимости создать базу вызовом DataContext.CreateDatabase.

Автор: SLeN 23.6.2009, 16:36
PashaPash, Отлично, спасибо.

Это единственный путь или есть еще альтернативы ? (учитывающие Persistence Ignorance)

Автор: PashaPash 23.6.2009, 16:40
SLeN, второй путь - расставить аттрибуты маппинга, если они не сильно повредят идее. 

Автор: SLeN 23.6.2009, 16:46
Ok суть уловил

Thanks!

P.S:
Чую мой проект плавно превращается в поле битвы Nhibernate vs L2S
замеры, тесты, анализ и т д =)

Автор: PashaPash 23.6.2009, 17:26
SLeN, разница в скорости работы двух нормальных ORM - 0.00001 %. Статистическая погрешность не преышает 3%.

Автор: SLeN 23.6.2009, 17:53
Еще есть удобство применения помимо perfomance

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)