2011-08-11 8 views
0

データベースのすべてのレコードに対して作成者のUserIDを保存したいです(すべてのテーブルにフィールドがあります)。SaveChangesメソッドをオーバーライドすることでこれを行うことができます。エンティティ・フレームワーク・モデルにパラメータを渡す方法は?

唯一の問題は、UserIDがWebプロジェクトのセッション変数に格納され、EFが別のプロジェクトライブラリに存在することです。また、dllからアプリケーションへのアクセスもありません。

私の場合、どのようなことが一番良いですか?これは、UserIDパラメータを持つSaveChangesの新しいオーバーライドを作成してUserIDを渡すことですか?または他のアイデア?

答えて

0

私はあなたが私はあなたがCONTEXT.TABLENAME.ADDメソッドを使用してDBに追加する値を渡している理解して何から

:-)答えを好まない場合は、自分自身がとても残念初心者です。

あなたは、すべてのテーブルにuseridのフィールドがあるとし、そのシンプルなものはセッション変数からユーザーIDを取得し、残りのデータを渡すときに渡します。

詳細情報を提供すると役立ちます。

0

Webコンテキストを別のライブラリのデータコンテキストにしっかりとバインドしようとすると、結局のところ結びついているので、これは合理的なアプローチです。偉大な「懸念の分離」でもないので、あなたのウェブサイト以外のデータライブラリを使用しても、それは機能しません。

あなたは/あなたがそれを行うことができ、メインプロジェクトの外でセッションへのアクセスを主張する必要がある場合:

HttpContext.Current...

とのSystem.Webへの参照を追加します。この場合はベストプラクティスではありませんが、可能です。

関連する問題