我想創建2級超級簡單的表的實體模型,我在MemSQL創建:是否可以在MemSQL中使用EntityFramework?
CREATE TABLE foo(id int primary key auto_increment, name varchar(20));
CREATE TABLE t(id int primary key auto_increment);
我使用實體框架6.1.x.我安裝了MySQL連接器,因爲MemSQL與MySQL是二進制協議兼容的,在我的項目中添加了一個新的ADO.NET實體模型,並通過嚮導走過。遇到以下問題:
- 大多數時間嚮導嘗試查詢表和視圖列表。它可能會這樣做,因爲MemSQL羣集在Azure中是遠程的。我會嘗試在明天創建一個本地虛擬機羣並再試一次。
- 它成功讀取表和視圖列表的時間,我選擇了兩個表,然後讓實體框架生成模型。我得到以下錯誤:
Unable to generate the model because of the following exception: 'System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> MySql.Data.MySqlClient.MySqlException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool', IF (LEFT(COLUMN_TYPE,10) ' at line 47
所以我很茫然。是否可以使用實體框架與MemSQL?
您是否知道如果我咬緊牙關並採用「代碼優先」方法,它是否會起作用? – AngryHacker
另外,您如何知道何時可以使用LEFT功能?有沒有可用的路線圖?我沒看到它。 – AngryHacker
我在MemSQL的工程團隊。我們尚未發佈詳細的功能路線圖。 我會在內部檢查是否有人對MemSQL使用實體框架。我沒有嘗試過,但你的方法是正確的。 –