Tôi có dự án asp.net MVC3 sử dụng mã EF đầu tiên. Đối với thử nghiệm đơn vị của tôi, tôi đã sử dụng SQL Server CE 4.0 và SQL Server 2008 Express. Cả hai đã làm việc hoàn hảo với EF tạo ra cơ sở dữ liệu của tôi như mong đợi.Cách cấu hình ProviderManifestToken cho Mã EF Đầu tiên
Tuy nhiên, khi tôi chạy ứng dụng của tôi bên ngoài của một thử nghiệm đơn vị và điểm nó ở chuỗi kết nối của tôi, tôi nhận được lỗi
ProviderIncompatibleException: Nhà cung cấp không trả về một chuỗi ProviderManifestToken
tôi đã đọc tài liệu MS về điều này và nó xuất hiện đây là một mã thông báo SqlVersion
mà mô hình EF tạo ra. Vấn đề là tôi đang sử dụng phương pháp tiếp cận mã đầu tiên vì vậy tôi không có tệp .edmx
cũng như tôi không biết nơi để trỏ thông tin siêu dữ liệu của mình đến vì db chưa được tạo.
Tôi biết chuỗi kết nối của mình theo tên db, tên người dùng và thông tin là chính xác vì thay đổi chúng thành giá trị sai sẽ ném lỗi dự kiến. Không chắc chắn bắt đầu từ đâu.
Cảm ơn.
Đây là chuỗi kết nối của tôi:
<connectionStrings>
<add
name="SqlConnection"
providerName="System.Data.SqlClient"
connectionString="Data Source=WORKSTATION\SQLEXPRESS;Initial Catalog=CodeFirst;Integrated Security=False;
Persist Security Info=False;User ID=CodeFirst_user;Password=password1;Connect Timeout=120;MultipleActiveResultSets=True;"/>
</connectionStrings>
Bạn có chắc là chuỗi kết nối được sử dụng không? Nó sẽ có cùng tên với lớp của bạn bắt nguồn từ DbContext. –
. Tôi thấy vấn đề là gì. Đó là một vài điều. (1) db không nên được tạo trước trong SqlServer ngay cả khi nó rỗng. Hãy để EF làm điều này. (2) Một tên danh mục ban đầu nên được bao gồm nếu nó không được khai báo trong DbContext. (3) Tôi không thể tạo db dưới Medium Trust. Hy vọng điều này sẽ giúp một ai đó. – trevorc
@nameEquals ... bạn đã giải quyết mục 3 ở trên như thế nào? –