我是實體框架的新手,剛剛通過Lerman的EF書籍。不幸的是,它只涵蓋了EF v4。我正在尋找Fluent API in EF v6,它看起來好多了,也更容易使用。爲什麼MS EF v6 Fluent API不使用EntityClient?
不幸的是,流利的API在EF V6好像是用SqlClient
代替EntityClient
- 在從連接字符串(提供商名稱)最少。這是爲什麼?這是否意味着我們無法將它與Oracle或任何其他非MS數據庫一起使用?
我是實體框架的新手,剛剛通過Lerman的EF書籍。不幸的是,它只涵蓋了EF v4。我正在尋找Fluent API in EF v6,它看起來好多了,也更容易使用。爲什麼MS EF v6 Fluent API不使用EntityClient?
不幸的是,流利的API在EF V6好像是用SqlClient
代替EntityClient
- 在從連接字符串(提供商名稱)最少。這是爲什麼?這是否意味着我們無法將它與Oracle或任何其他非MS數據庫一起使用?
EntityClient在EF4(事實上在EF5和EF6)是拳擊數據庫相關的概念和EF相關概念的方式。與數據庫相關的概念是EF如何與數據庫交談,而與EF相關的概念則是模型的外觀。在EF4中,序列化模型的主要方法是包含CSDL,MSL和SSDL工件的edmx文件。如果您查看實體連接字符串,則它包含指向與EF相關的概念的工件(即CSDL,MSL和SSDL)以及作爲數據庫部分的提供程序連接字符串的路徑。實際上,對於Model和Database First,即使EF6仍然以相同的方式工作。對於Code First,您的代碼(以及OnModelCreating和自定義約定中的配置)是您的模型。因此,不需要序列化和存儲您的模型,因爲它是您的應用程序的一部分。因此,EF相關的概念可以被刪除,並且在這樣做之後,只剩下已經在ADO.NET提供者模型中捕獲的與數據庫相關的概念。
謝謝你的總結。 –
我不知道你看到了什麼你看到的東西,但只要提供者did the extra work能讓他們的ADO.NET提供者與實體框架兼容,就可以使用任何提供者。
Oracle's ADO.NET provider is compatible with Entity Framework.
這似乎沒有使用** EF v6 Fluent API **。據我所知,以前的版本有所不同。 –
Fluent API只是描述類的一種不同方式,對於連接字符串只是使用[標準ADO.NET連接字符串](http://msdn.microsoft.com/zh-cn/library/ee789835(v = vs.110).aspx) –
你能提供你看到它使用'SqlClient'嗎? –
請參見部分**配置文件**下的[先編碼到現有數據庫](http://msdn.microsoft.com/zh-cn/data/jj200620.aspx)。不幸的是,其他教程不顯示**連接字符串**。 –
當您按照本教程進行操作時,只需選擇「Oracle」而不是「Microsoft Sql Server」,其他一切都會相同。 –