2011-08-11 43 views
0

我想爲創建者的UserID保存數據庫中的每條記錄(我在每個表中都有一個字段),我發現我可以通過重寫SaveChanges方法來實現。如何將參數傳遞給實體框架模型?

唯一的問題是UserID存儲在Web項目的會話變量中,EF存在於分離的項目庫中。並沒有訪問從DLL到應用程序。

我的情況最好的應用是什麼?是否通過使用UserID參數創建SaveChanges的新重寫來傳遞UserID?或任何其他想法?

回答

0

我自己是初學者很抱歉,如果你不喜歡的答案:-)

從我瞭解你傳遞的值將被添加到數據庫使用CONTEXT.TABLENAME.ADD方法。

你說你在每個表中都有userid字段,那麼它的簡單方法就是從會話變量中獲取用戶標識並在傳遞剩餘數據時傳遞它。

如果您提供更多信息,這將有所幫助。

0

傳遞它絕對是最好的方法,因爲如果你試圖在單獨的庫中將Web上下文緊密地綁定到數據上下文,你會發現自己陷入了困境。這也不是一個很好的「關注點分離」,因此如果您將數據庫用於除網站以外的其他任何內容,則無法工作。

如果你需要/堅持主體工程可以用做外訪問會話:

HttpContext.Current...

和增加的System.Web參考。在這種情況下不是最好的做法,但它是可能的。

相關問題