3 уровня наилучшей практики - доступ LinqTOSQL на уровне презентаций - PullRequest
0 голосов
/ 05 ноября 2010

Сценарий: у меня есть сценарий с уровнем представления (ASP.NET), уровнем бизнес-логики (dll) и уровнем данных (dll), в последнем есть файл LinqTOSQL DataContext (dbml), в котором хранятся таблицы и сохраненный процесс дляконкретная база данных.Связи между проектами:

Зависимости: на уровне бизнес-логики есть ссылка на уровень данных На уровне представления есть ссылка на уровень бизнес-логики

Моя проблема: Проблема в том, что у меня есть случаи, когда янужно вернуть объект типа таблицы, соответствующий тексту данных, но поскольку уровень представления не имеет ссылки на уровень данных, я не могу использовать объект таблицы ... Является ли хорошей практикой ссылаться на уровень данных непосредственно вслой презентации?Или кто-то может подсказать мне, как лучше всего получить Таблицы на уровне представления

1 Ответ

0 голосов
/ 10 ноября 2010

Вместо того, чтобы уровень бизнес-логики возвращал System.Data.Linq.Table<TEntity> на уровень представления, пусть он возвращает System.Collections.Generic.IEnumerable<TEntity> через неявное приведение или System.Collections.Generic.IList<TEntity>, вызвав ToList() для таблицы.

Похоже, что объекты, определенные в вашем dbml-файле, уже находятся в пространстве имен вашего домена, поэтому вам не нужно ссылаться на System.Data.Linq вваш уровень представления.

...