簡體   English   中英

如何將參數傳遞給實體框架 Model?

[英]How to pass a parameter to the Entity Framework Model?

我想為數據庫中的每條記錄保存創建者的UserID (我在每個表中都有一個字段),我發現我可以通過覆蓋SaveChanges方法來做到這一點。

唯一的問題是UserID存儲在 web 項目中的 session 變量中,並且 EF 存在於單獨的項目庫中。 並且無法從 dll 訪問應用程序。

我的情況最好的方法是什么? 是通過使用 UserID 參數為 SaveChanges 創建一個新的覆蓋來傳遞 UserID 嗎? 或任何其他想法?

我本人是初學者,如果您不喜歡答案,我很抱歉:-)

據我了解,您正在使用 CONTEXT.TABLENAME.ADD 方法將要添加到數據庫的值傳遞給數據庫。

您說您在每個表中都有用戶 ID 字段,那么它很簡單,只需從 session 變量中獲取用戶 ID 並在傳遞剩余數據時傳遞它。

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

傳遞它絕對是最好的方法,因為如果您嘗試將 Web 上下文與單獨庫中的數據上下文緊密綁定,您會發現自己陷入困境。 這也不是一個很好的“關注點分離”,因此如果您將數據庫用於您的網站以外的任何其他內容,它將無法正常工作。

如果您需要/堅持在主項目之外訪問 session ,您可以這樣做:

HttpContext.Current...

並添加對 System.Web 的引用。 在這種情況下並不是真正的最佳實踐,但它是可能的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM