![](/img/trans.png)
[英]How to pass Stored Procedure with DateTime parameter in Entity Framework
[英]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.