5

Mô hình EF của tôi lấy dữ liệu ra khỏi Cơ sở dữ liệu có chế độ xem lấy dữ liệu từ máy chủ được liên kết. Việc thu thập cơ sở dữ liệu trong máy chủ được liên kết đã được thay đổi thành SQL_Latin1_General_CP1_CI_AS nhưng không thay đổi máy chủ. Tôi giả định đó là nơi xung đột đối chiếu xuất phát từ đó. Mỗi lần tôi tham gia vào chế độ xem đó, tôi vẫn gặp phải lỗi này:Làm thế nào để giải quyết xung đột đối chiếu với Khuôn khổ thực thể?

"Cannot resolve the collation conflict between \"SQL_Latin1_General_CP1_CI_AS\" and\"Modern_Spanish_CI_AS\" in the equal to operation."

Tôi thấy rằng các vấn đề đối chiếu dễ dàng được giải quyết trong SQL bằng COLLATE. Tôi không thể tìm cách để làm điều này với LINQ. LINQ có thể được sử dụng để xử lý này hay tôi nên giải quyết vấn đề này theo một cách khác?

Trả lời

2

Sự hiểu biết của tôi là EF không hỗ trợ tính năng này.

Bạn có thể tạo chế độ xem mới để giải quyết xung đột và truy vấn chế độ xem mới với EF.

+0

Nếu tôi tạo chế độ xem mới, nó vẫn sẽ đến từ máy chủ có đối chiếu không phù hợp. –

+1

Tôi biết, nhưng bạn đã nói trong câu hỏi "các vấn đề đối chiếu dễ dàng được giải quyết trong SQL bằng cách sử dụng COLLATE" - vì vậy bạn có thể giải quyết nó trong chế độ xem mới ... – qujck

+0

Thậm chí nếu tôi tạo chế độ xem mới bằng COLLATE trên các cột sử dụng trên tham gia, nó vẫn ném một collation xung đột ngoại lệ –

Các vấn đề liên quan