Можем ли мы использовать Linq с View сервера SQL? - PullRequest
0 голосов
/ 14 февраля 2011

Согласно моему пониманию, представления могут повысить производительность, и я намереваюсь использовать представления в моей базе данных, и поскольку моя база данных огромна, я хочу создавать представления для различных запросов. Есть ли способ получить доступ к представлениям в приложениях Windows .Net или мы можем использовать LINQ с представлениями? Как точно использовать View в .Net, чтобы я мог повысить производительность? Я пишу настольное приложение на C #.

Ответы [ 3 ]

2 голосов
/ 14 февраля 2011

Да, вы можете использовать представление в приложении .NET. Вы используете его так же, как и таблицу.

Например:

var result = from v in TestView select v;
2 голосов
/ 14 февраля 2011

"Я хочу создать представление в базе данных сервера SQL, в котором должно быть предложение Where. Когда я перетаскиваю его в файл .Net dbml, и использую его в некоторых случаях, где необходимо задать параметр. Может ли это быть возможным. «

I думаю вы спрашиваете, можете ли вы передать параметр "где" в 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» - соответствует ли пункт «Где»

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 голосов
/ 14 февраля 2011

Да, просто перетащите Вид из обозревателя серверов в Visual Studio на модель базы данных linq2sql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...