2016-06-09 110 views
-2

我使用實體框架 - 數據庫首先在我的項目。我的模型只有一個VARCHAR列的視圖:實體框架數據庫優先 - 映射到泛型列表

CREATE VIEW MyView 
AS 
SELECT 'Eris' Eris 
FROM MyTable 

默認情況下,這個觀點被映射到其自己的實體只有一個屬性:

public virtual DbSet<MyView> MyViews { get; set; } 

我怎樣才能改變這種做法,認爲被映射到字符串列表,而不是:

public virtual List<string> Eris { get; set; } 
+0

請出示一些代碼,所以我們可以看到你已經嘗試什麼,究竟它是如何不是你所期望的。 – Eris

回答

-1

實體模型表示在表中的一個元素。 當您從表中檢索數據時,您將獲得實體模型對象的列表。

+0

你在說什麼和我的問題有什麼關係? –

+0

我說,它沒有任何意義在你的實體字符串列表作爲一個實體代表你的觀點的一個元素。如果你想表示你的視圖中的元素列表,你會做它有一個實體模型對象的列表。 – jumuro

+0

@IsaacKleinman,你的問題的版本後,你可能有一個'有一個屬性'MyView'類公共字符串厄里斯{獲得;組; }'。 'DbSet '屬性表示DbContext中的實體。你用實體模型定義誤解了這一點。 – jumuro

1

不幸的是EF確實值類型的支持映射集合。如果你真的想要實現這種情況,那麼你可能想看看其他ORM框架,如NHibernate這個功能。

如果這不是一種選擇,你必須堅持到EF然後你不得不用一個屬性創建實體就像你在你的問題中提到。

相關問題