![](/img/trans.png)
[英]Using an SQL View from an Entity Framework Code First version 5
[英]Create SQL View With Entity Framework 6 Code First
我是Entity Framework 6 Code First的新手,我正在嘗試執行我認為簡單的任務。 我想創建一個SQL視圖,然后在我的數據庫上下文中有一個Entity,我可以使用它來查詢視圖。
我曾嘗試如文章本但對我來說最關鍵的區別是,SQL視圖是不是從另一個現有的數據庫即將現有視圖。
我檢查了本文中提出的命題,但對我來說似乎有點過分,我需要創建一些擴展方法來做一些簡單的事情,比如創建一個視圖/實體組合並在我的數據庫上下文中使用它。
我錯過了什么嗎? 我知道如果我不使用Code First會更容易,但請記住它是Code First,我正在嘗試創建一個視圖,而不是重用現有數據庫中的視圖。
科林和凱文,感謝您在另一篇文章中找到答案的鏈接和簡明的答案。 我已經使用了幾個資源來最終基於新的SQL視圖創建可查詢實體。 為了防止其他人對EF 6.0 Code First不熟悉並且剛剛開始行動,我確實會采取一些措施,希望將來能夠讓其他人受益。
我仍然感到驚訝的是,我需要完成所有這些自定義工作來創建視圖並將其映射到具有Code First的實體,但在一天結束時,它有助於我開始遷移,因為您只能依賴無論如何,“自動遷移”已經很久了。
您可以手動添加sql以創建遷移視圖,然后根據您的第一個鏈接使用它。
科林提供的鏈接中的答案完成了這項工作。
如果要創建大量視圖,最好將視圖查詢保存在單獨的文件中,並將它們添加到資源(.resx)文件中,而不是在Migration Up()中對sql查詢進行硬編碼方法。
例如
public override void Up()
{
Sql("ResourceFileName.ResourceName");
}
而不是硬編碼
{
Sql("EXEC ('CREATE View [dbo].[ClientStatistics] AS --etc");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.