Всем привет,
Назрел такой вопрос.
Значит условия задачи: есть БД, есть таблица в ней с множеством полей, множеством ссылок на другие таблицы, вобщем одна запись суммарно содержит полей 100 примерно.
1. Уместно ли здесь использовать ленивую загрузку бизнесс-объектов, т.е. каждое сложное поле корневого БО (сложное, в смысле это ссылка на другую таблицу, т.е. на другой БО) загружалась из БД, только при обращении к его свойству get.
2. И второй вопрос, вот если в конкретном случае нужно получить только 3 поля из 100, и нет никакого смысла вытягивать всю портянку полей из БД, как это реализовать? Создать новый БО, в котором будет только эти три поля? Или же создать дополнительный метод загрузки данных, которые будет делать выборку только этих трех полей для этого большого БО?
Здравствуйте, debugx, Вы писали:
D>Всем привет, D>Назрел такой вопрос. D>Значит условия задачи: есть БД, есть таблица в ней с множеством полей, множеством ссылок на другие таблицы, вобщем одна запись суммарно содержит полей 100 примерно. D>1. Уместно ли здесь использовать ленивую загрузку бизнесс-объектов, т.е. каждое сложное поле корневого БО (сложное, в смысле это ссылка на другую таблицу, т.е. на другой БО) загружалась из БД, только при обращении к его свойству get. D>2. И второй вопрос, вот если в конкретном случае нужно получить только 3 поля из 100, и нет никакого смысла вытягивать всю портянку полей из БД, как это реализовать? Создать новый БО, в котором будет только эти три поля? Или же создать дополнительный метод загрузки данных, которые будет делать выборку только этих трех полей для этого большого БО?
Здравствуйте, debugx, Вы писали:
D>Всем привет, D>Назрел такой вопрос. D>Значит условия задачи: есть БД, есть таблица в ней с множеством полей, множеством ссылок на другие таблицы, вобщем одна запись суммарно содержит полей 100 примерно. D>1. Уместно ли здесь использовать ленивую загрузку бизнесс-объектов, т.е. каждое сложное поле корневого БО (сложное, в смысле это ссылка на другую таблицу, т.е. на другой БО) загружалась из БД, только при обращении к его свойству get. D>2. И второй вопрос, вот если в конкретном случае нужно получить только 3 поля из 100, и нет никакого смысла вытягивать всю портянку полей из БД, как это реализовать? Создать новый БО, в котором будет только эти три поля? Или же создать дополнительный метод загрузки данных, которые будет делать выборку только этих трех полей для этого большого БО?
Любые вопросы оптимизации (а ленивая загрузка это и есть попытка оптимизации чтения), стоит начинать с теста производительности, выяснения узкого места и только потом принятия решения.
Народная мудрось
всем все никому ничего(с).
Re[2]: Вопрос по DAL
От:
Аноним
Дата:
07.10.10 10:33
Оценка:
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, debugx, Вы писали:
D>>Всем привет, D>>Назрел такой вопрос. D>>Значит условия задачи: есть БД, есть таблица в ней с множеством полей, множеством ссылок на другие таблицы, вобщем одна запись суммарно содержит полей 100 примерно. D>>1. Уместно ли здесь использовать ленивую загрузку бизнесс-объектов, т.е. каждое сложное поле корневого БО (сложное, в смысле это ссылка на другую таблицу, т.е. на другой БО) загружалась из БД, только при обращении к его свойству get. D>>2. И второй вопрос, вот если в конкретном случае нужно получить только 3 поля из 100, и нет никакого смысла вытягивать всю портянку полей из БД, как это реализовать? Создать новый БО, в котором будет только эти три поля? Или же создать дополнительный метод загрузки данных, которые будет делать выборку только этих трех полей для этого большого БО?
G>Используй Linq