3

我想在這裏使用存儲過程中未命名列的實體框架。使用存儲過程和未命名列的實體框架

說例如以下SP:

CREATE PROCEDURE [dbo].[GetUsers] 
AS 
BEGIN 

    SELECT 
     Username, 
     Firstname + ' ' + Lastname 
    FROM 
     dbo.users 

END 
GO 

通常如果我在創建實體框架的映射我在創建(用戶名和列1)一個複雜的對象2列。

這裏的問題是我嘗試使用POCO而不是自動生成的複雜對象。

使用命名列的反射來完成這項工作。但是,當我包含連接列它不是映射數據。是否有可能以任何方式將其映射到現有的POCO [例如具有作爲現有屬性的用戶名和完整名稱]? (屬性,嚮導還是別的?)

+1

最佳解決方案:爲該「計算」列提供列別名並消除所有問題! –

回答

0

如果您使用正確的模板,自動生成的對象仍然是POCO,因此您可以將過程映射爲函數導入並使用複雜類型。否則,請使用@marc_s建議的內容並給出每個計算列別名:

SELECT 
    Username, 
    Firstname + ' ' + Lastname AS FullName 
FROM 
    dbo.users 
+1

這裏的問題是我們不擁有數據庫,因此,沒有任何更改是可能的。我今天創建了一個與複雜生成對象具有相同屬性的對象,但無法在編輯功能導入對話框的「複雜」或「實體」下拉列表中選擇它。 – Erick