Zajmuję się tworzeniem dziennika kontaktów na stronie internetowej przy użyciu VS 2010, MVC3 i EF 5 - podmioty są tworzone przy użyciu kodu pierwszego. Dane są przechowywane w zestawie baz danych SQL Server 2008 R2. Chcę wyświetlić podsumowanie rejestru kontaktów i utworzyć widok.Korzystanie z widoku SQL z kodu Entity Framework Pierwsza wersja 5
CREATE VIEW dbo.ContactLogSummaries
AS
SELECT
CLE.ContactLogEntryID,
CLE.CaseID,
'Test' AS ContactName,
EU.UserName As OfficeUser,
CLE.DateAndTimeOfContact,
CLC.Category,
CLE.ContactDetails
FROM
ContactLogEntries AS CLE
JOIN
ContactLogCategories AS CLC
ON CLE.ContactLogCategoryID = CLC.ContactLogCategoryID
JOIN
Control.dbo.EndUsers AS EU
ON CLE.UserID = EU.EnduserID
Istnieją dwa podmioty w bazie Kontakt Log (ContactLogEntries
i ContactLogCategories
) oraz bazy pierwszego podmiotu Control.dbo.EndUsers
w innej bazie danych. Dziennik kontaktów może zawierać dużą liczbę rekordów. Chcę móc wyświetlać tylko rekordy dla konkretnego przypadku.
Moje pytanie składa się z dwóch części:
- mogę korzystać z widoku SQL bezpośrednio do wyświetlania podsumowania na stronie internetowej (być może po przeczytaniu go w klasie)
- mogę utworzyć pierwszy kod obiekt równoważny z widokiem SQL.
Nic nie mówi SQL Injection jak konkatenacja ciągów! – SwampyFox
Brak SQL Injection tutaj. Jeden - jest to przykład ilustracyjny; dwa, CaseID nie jest zwracany ze strony internetowej. Czy mogę poprosić o mój plus jeden? –
Peter - Rozumiem, że ten kod ma charakter ilustracyjny, ale nie ma możliwości, aby czytelnik mógł się dowiedzieć, czy CaseID pochodzi z czegoś, co jest umieszczone w formularzu (np. I edytować, czy pochodzi z ciągu zapytania)). Zwrócę ci plus, jeśli sparametryzujesz ciąg. To sprawi, że twój kod będzie trochę dłuższy, ale będzie to solidny przykład dla społeczności. Pozwoli to również SQL Server na stworzenie planu wykonania dla tego zapytania do ponownego użycia. – SwampyFox