Posso aggiungere una funzione SQL al mio file .edmx come faccio in .dbml? Se posso, come farlo? Se non posso, c'è qualche soluzione?Come aggiungere la funzione definita dall'utente SQL all'entità framework?
Ho provato a Google ma non riesco a trovare alcuna risposta concreta su come farlo.
In base alla risposta data, ho creato una procedura memorizzata e ho provato ad aggiungere una "funzione di importazione", ma dice "la stored procedure non restituisce alcuna colonna". Dove sto sbagliando? La funzione:
ALTER FUNCTION [dbo].[fn_locationSearch](@keyword varchar(10))
RETURNS TABLE
AS
RETURN
(
SELECT CustomerBranch.ID,CustomerBranch.BranchName,CustomerBranch.Longitude,CustomerBranch.Latitue,CustomerBranch.Telephone,CustomerBranch.CategoryID,CustomerBranch.Description
FROM FREETEXTTABLE (CustomerOffer,*,@keyword) abc INNER JOIN OffersInBranch
ON abc.[key]=OffersInBranch.OfferID INNER JOIN CustomerBranch ON OffersInBranch.BranchID=CustomerBranch.ID
UNION
SELECT CustomerBranch.ID,CustomerBranch.BranchName,CustomerBranch.Longitude,CustomerBranch.Latitude,CustomerBranch.Telephone,CustomerBranch.CategoryID,CustomerBranch.Description
FROM CustomerBranch WHERE FREETEXT(*,@keyword)
)
La stored procedure:
ALTER PROCEDURE USP_locationSearch
(@keyword varchar(10))
AS
BEGIN
SELECT * from dbo.fn_locationSearch(@keyword)
END
Grazie. In tal caso sarò in grado di scrivere query, come var result = da p in dc.mytable join q in dc.myUSPwithFunc ('id') ... ?? – kandroid
Sì, quando si aggiunge la procedura memorizzata sarà necessario aggiungere una funzione di importazione e il tipo di reso sarà un tipo complesso, il progettista EF ha la capacità di generare un nuovo tipo complesso per te. Il "tipo complesso" è in realtà una nuova classe basata sui campi restituiti dalla procedura. – keithwarren7
Ciao. Non sto attraversando. :(Ho modificato il mio post e ho aggiunto il codice che sto cercando di scrivere secondo la tua risposta. Puoi dare un'occhiata? – kandroid