2011-10-06 220 views
0

過去我一直在嘗試使用實體框架和LINQ 2實體,它們與SQL Server一起工作得很好(正如我所期望的那樣),但問題是我必須使用Sybase ASE 15.5。LINQToEntities與Sybase ASE 15.5

我說,因爲下面的「問題」:

  1. 它通常需要很長時間來生成/更新模型
  2. 有時它會產生一個錯誤,指出該領域<字段名>已經在元數據集合(我認爲它與命名約束或字段名稱是有關係的表中相同(FKs是最常見的)
  3. 我做了一個簡單的模型,其中將不會有問題生成/更新,但問題是有時(取決於查詢)T-SQL ge LINQ To Entities在ASE中引發一些錯誤

我正在使用Sybase SDK版本15.5.0.1000,此SDK的ADO.NET提供程序是否正常工作(如在中,我在做什麼錯誤)?如果沒有,是否有更新的?有沒有其他的東西,我必須安裝解決這些問題(如一個新的SDK,一些DLL或翻譯方言)? (我知道有一個新的Sybase ASE -15.7-但它是否附帶一個新的SDK?可能並不重要,因爲我不確定IT主管和CIO現在是否會批准更改)

我也嘗試了Data Direct提供程序,但它在試圖生成模型時卡住了,BLToolkit也是從我在他們的站點讀取的,依賴於供應商數據提供者(至少對於非Microsoft DB)。我真的很喜歡與Entity Framework一起工作的東西,但只是一些與ASE和ASE CE一起工作的東西(目前還沒有嘗試過NHibernate,主要是因爲乍一看它似乎涉及過多的手工工作,並閱讀某處在ASE有問題)

在此先感謝您提供的任何幫助。

回答

1

既然已經整整一週了,甚至連評論都沒有提出,我會自己回答。

似乎SDK確實存在問題,顯然模型生成會創建一個T-SQL的怪物被執行,因此會造成很大的延遲。它確實存在一些問題,這些約束的命名方式相似,但僅限於ASE,在ASE CE中它似乎沒有任何問題。我找不到任何特定於ASE的方言資源,所以我猜他們的驅動程序沒有準備好與Entity Framework一起使用,因爲生成的T-SQL是針對SQL Server的,在某些查詢中,它會引發ASE異常。

我很可能會去NHibernate,因爲它似乎是最有利的一條路徑(因爲在它實際工作),它是免費的。另外,似乎Progress(DataDirect)在試用期間爲他們的ADO.NET提供商提供了支持,我會打電話給他們,看看問題是否可以輕鬆解決,在這種情況下,我最終可能會使用它。

更新:顯然這已被修復,因爲現在我可以使用Sybase驅動程序創建模型。