Как передать параметр в Entity Framework Model? - PullRequest
0 голосов
/ 11 августа 2011

Я хочу сохранить UserID создателя для каждой записи в базе данных (у меня есть поле для нее в каждой таблице), я обнаружил, что могу сделать это, переопределив SaveChanges метод.1004 *

Единственная проблема заключается в том, что UserID хранится в переменной сеанса в веб-проекте, а EF существует в отдельной библиотеке проекта.И нет доступа из dll к приложению.

Какая лучшая заявка для моего случая?Это происходит путем передачи идентификатора пользователя путем создания нового переопределения для SaveChanges с параметром UserID?или любая другая идея?

Ответы [ 2 ]

0 голосов
/ 11 августа 2011

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

Если вам нужно / настаивать на доступе к сеансу вне основного проекта, вы можете сделать это с помощью:

HttpContext.Current...

и добавление ссылки на System.Web. Не очень хорошая практика в этом случае, но это возможно.

0 голосов
/ 11 августа 2011

Я сам новичок, поэтому извините, если вам не нравится ответ: -)

Из того, что я понимаю, вы передаете значения, которые нужно добавить в БД, используя метод CONTEXT.TABLENAME.ADD.

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

Это поможет, если выпредоставить больше информации.

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