Ссылка на другие объекты при использовании Linq2Sql и Sprocs - PullRequest
1 голос
/ 08 января 2010

Мы оцениваем Linq2Sql для внутренних приложений, и наши рекомендации по разработке означают, что мы всегда должны использовать хранимые процедуры для всех операций CRUD, из разных блогов я собрал приложение, которое выполняет большую часть того, что мы хотим.

Однако, что я хотел бы сделать, так это то, что когда у нас есть отношения между двумя объектами, эти отношения могут выполняться автоматически.

Например, если бы у меня был экземпляр объекта Person, я бы хотел сказать

var отсутствиеCount = people.Absence.Count ()

но поскольку у нас нет разрешения на выборку таблицы Absence, мы получаем исключение Sql.

есть ли что-нибудь вокруг этого?

Ответы [ 2 ]

0 голосов
/ 12 января 2010

По чистой случайности я наткнулся на пару постов в блоге, которые доказывают, что это возможно, я проверил это, и это работает удовольствие

добавление в ваш класс DataContext методов с именем Load, вызываемых в ваш сохраненный процесс, позволит этому работать

ссылки с примерами здесь

Гвардия Дэмиена

1012 * MSDN *

0 голосов
/ 08 января 2010

Используя хранимые процедуры для всех ваших операций с базой данных, вы теряете большинство преимуществ ORM, таких как Linq-To-SQL, и использования запросов LINQ.Например, используя хранимые процедуры для извлечения всех ваших данных, вы теряете возможность проводить строгую проверку типов для всех ваших запросов.

Конечно, вы все еще можете использовать L2S с хранимыми процедурами, но я не вижу в этом смысла, если все ваши операции запроса должны выполняться с помощью хранимых процедур.

Чтобы ответить на ваш второй вопрос, как, по вашему мнению, L2S сможет заполнять таблицу «Отсутствие», если у вас нет разрешения на выбор из таблицы?Если бы L2S каким-то образом смог это сделать, какой бы уровень безопасности вы установили?

Рэнди

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...