2013-04-10 63 views
0

我們在我們的項目中使用了LINQ to SQL。其中一個表格是項目中每個動作中使用的「用戶」。如何中斷從數據庫中獲取數據

最近我們說要在表中添加「IsDeleted」列,並考慮在LINQ to SQL查詢中獲取每個數據的列。

我們不想在所有查詢中添加「WHERE IsDeleted = Fasle」。

在數據被提取之後,但是在進一步發送到項目中的代碼之前,是否有可能「中斷」到LINQ?

+0

如果你想過濾'IsDeleted',那麼你**有**添加它,問題是,你在哪裏添加它? ......「中斷」對你的問題來說是相當具有誤導性的詞 – musefan 2013-04-10 08:37:46

+3

它看起來像一個整潔的地方放置一個視圖。你可以準備一個包含'W​​HERE IsDeleted = False'的視圖,將其命名爲'OnlyActiveUsers',然後在需要時在應用程序中查詢這個視圖... – 2013-04-10 08:39:00

+0

另一方面,在所有查詢中明確地進行清除你只想要活躍的用戶。稍後您可能也希望看到已刪除的用戶(例如,出於管理目的)。畢竟,這是商業邏輯,而不是數據邏輯。這也可能是影響最小的解決方案。只是一個想法。 – 2013-04-10 08:50:34

回答

2

這可以通過C#解決,但它確實是工作的錯誤工具。

Create a view在包含此語句的數據庫中,並且僅從現在開始使用該視圖。您甚至可以通過不再授予表上的權限來強制執行此操作。

+0

「這可以通過C#來解決,但它確實是錯誤的工具。」 - 我們創建了一個視圖,但是請你解釋一下C#如何解決它?謝謝。 – Igor 2013-04-10 09:13:43