我將我們產品的數據庫從另一個支持Guid的產品移植到SQLite。據我們所知,SQLite不支持Guid。我已經從我的數據庫(數據庫第一)創建了一個實體框架6模型,我需要從C#構建一個查詢,將Guid與從代碼傳遞的一個進行比較。SQLite實體框架6提供程序如何處理Guid?
事情是我找不到關於SQLite實體框架提供程序如何處理Guid的任何文檔。網絡搜索也沒有發現對我有用的東西。只是關於在SQLite中使用Entity Framework的問題。
任何人都可以指向我的文檔,或者可以告訴我如何通過EF6模型在SQLite數據庫中使用Guids?
SQLite沒有一個明確的列類型GUID,但它們存儲類型親和力'BLOB'工作完全正常。不太瞭解實體框架,但似乎類型轉換器(超出枚舉)將只在EF 7中。但GUID從字節數組等等,因此它可能是非常簡單的。 – peterchen 2014-12-03 18:45:47
我將它們作爲BLOB存儲在我的模型中,但是,我遇到了問題。該代碼具有類似於「ID == Guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')的表達式,因爲數據庫中ID的類型是」Byte []「而引發異常,右側是是一個'Guid',有問題的代碼必須在我們的客戶端(我正在使用的代碼)上運行SQLite,並且在我們的服務器上,數據庫是SQL Server的表達式字符串不能改變。在SQLite端做一些比較工作,我只是不知道是什麼,這就是爲什麼我在尋找文檔。 – 2014-12-03 18:54:13
在SQLite中,你可以覆蓋Guid()函數:https:// www。 sqlite.org/c3ref/create_function.html(不知道如何通過EF工作) – peterchen 2014-12-03 19:52:51