2011-03-03 71 views
0
public List<EmployeesX> GetView() 
{ 
    Health_Scheme_System.Health_Scheme_SystemDB db = new Health_Scheme_System.Health_Scheme_SystemDB(); 

    var d = from empView in db.EmployeeDirectories 
      join empTable in db.Employees on empView.ID_NO equals empTable.EmployeeIDCard 
      join s in db.Schemes on empTable.SchemeID equals s.SchemeID 
      select new EmployeesX {ID_NO = empView.ID_NO, FIRST_NAME = empView.FIRST_NAME, LAST_NAME = empView.LAST_NAME, EMPLOYMENT_DATE = ((DateTime)empView.EMPLOYMENT_DATE).Date, TERMINATION_DATE = ((DateTime)empView.TERMINATION_DATE).Date, LOCATION_CODE = empView.LOCATION_CODE }; 
      return d.ToList<EmployeesX>(); 
} 
+0

可能dublicate http://stackoverflow.com/questions/4942640/sql-error-turkish-ci-as-and-sql-latin1-general-cp1-ci-as – 2011-03-03 07:45:49

+0

可能重複的[無法解決整理衝突之間的「SQL_Latin1_General_CP1_CI_AS」和「Latin1_General_CI_AS」之間](http://stackoverflow.com/questions/1607560/cannot-resolve-the-collat​​ion-conflict-between-sql-latin1-general-cp1-ci-as - ) – 2012-03-28 00:08:54

回答

5

整理是指用於在文本字段中存儲數據的字符集,並有必要對所有的許多書面語言提供支持世界的。每列可以有一個特定的排序規則,或者繼承數據庫的排序規則。比較具有不同排序規則的列時,可能會遇到麻煩,因爲一個排序規則中的字符不一定與另一個排序規則中的同一個字符相同。

  1. 要麼,在這種比較中的列有不同的排序規則:

    empView.ID_NO等於empTable.EmployeeIDCard

  2. 或者說,在這種比較中的列有不同的排序規則:

    empTable 。方案ID等於s.SchemeID

所以,你需要更改排序規則,以便它們是相同的數據庫模式:

ALTER TABLE MyTable ALTER COLUMN CharCol 
      varchar(10)COLLATE Latin1_General_CI_AS NOT NULL 

或者你可以在下面的SQL添加collate database default到每個比較。

+0

感謝隊友的幫助:)你真棒! – Malcolm 2011-03-03 10:46:58

+0

@Malcolm - 不客氣。如果回答您的問題,那麼您可以將答案標記爲「已接受」。然後它會有一個大的綠色勾號,以便其他有相同問題的人可以看到解決方案。 – sheikhjabootie 2011-03-03 10:59:09

+0

那..我很好,謝謝。 -Malcolm – 2013-11-19 03:33:22

相關問題