2011-02-14 106 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; 
相关问题