2011-02-14 59 views
0

根據我的理解視圖可以提高性能,我打算在我的數據庫中使用視圖,因爲我的數據庫是巨大的,我想爲不同的查詢創建視圖。有什麼方法可以訪問.Net Windows應用程序中的Views,或者我們可以使用LINQ和Views嗎?在.Net中使用View的確切方式是什麼,以便我可以提高性能?我正在編寫一個C#桌面應用程序。我們可以使用Linq和View服務器嗎?

回答

2

「我要創建在SQL Server數據庫中的觀點,即必須有Where子句,當我將其拖動到.NET的dbml文件,並使用一些地方即可。必須詢問參數,可以這樣做。「

認爲你是問,如果你可以通過一個「where」參數來查看時,它被調用。這是不可能的,但你可以傳遞參數到一個存儲過程。此外,您的存儲過程可以查詢視圖並使用參數進行過濾。這裏有一個例子:

VIEW:名爲 「PersonView」 - 給你的一切(沒有WHERE子句)

SELECT  cit.CitizenID, cit.FirstName, cit.LastName, cit.OrganizationID, org.Name AS 'OrganizationName', 
FROM Citizens AS cit JOIN Organizations AS org ON cit.OrganizationID = org.ID 

存儲過程:一個名爲 「spPersonQuery」 - 做你的Where子句

CREATE PROCEDURE [dbo].[spTest] 
    -- Add the parameters for the stored procedure here 
    @orgID int 
AS 
BEGIN 
    SET NOCOUNT ON; 

    SELECT * from dbo.PersonView as ps 
    where ps.OrganizationID = @orgID 
END 
GO 

然後,您可以將存儲過程拖到DBML文件中,當您調用它時,您將傳遞int參數「orgID」。

2

是的,只需將視圖從Visual Studio中的服務器瀏覽器拖到您的linq2sql數據庫模型。

+0

謝謝。但是,我可以在單個表上使用查詢特定的視圖嗎?意味着我想在View中使用Where條件。我可以用嗎 ?我可以將參數傳遞給該視圖嗎?我在數據庫方面是新的。 – 2011-02-14 13:39:33

2

是的,您可以在.NET應用程序中使用視圖。您可以像使用表格一樣使用它。

例如:

var result = from v in TestView select v; 
相關問題