Tôi đã thử một dự án EF đầu tiên với SQL Compact 4.0. Khi tôi thử chạy dự án, tôi nhận được thông báo lỗi "CREATE DATABASE permission bị từ chối trong cơ sở dữ liệu 'master'.".Khung thực thể kết nối với SQLEXPRESS không phải SQL Compact
Tôi đã tìm kiếm trợ giúp và trả lời một số blog đã cố gắng xác định chuỗi kết nối đang được sử dụng. Trước sự ngạc nhiên của tôi nó là
context.Database.Connection.ConnectionString "Data Source=.\\SQLEXPRESS;Initial Catalog=Ancestors.Models.AncestorsContext;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFrameworkMUE" string
mặc dù tập tin web.config của tôi bao gồm các phần sau ...
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|\aspnet-Ancestors-20121012114712.sdf" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>
Có ai bất kỳ ý tưởng tại sao EF được nhấn mạnh vào việc tạo ra một kết nối đến SQLEXPRESS thay vì SQL Gọn nhẹ? Tôi không thể tìm thấy tham chiếu nào cả ở SQLEXPRESS ở bất kỳ đâu trong giải pháp.
Các phần là như sau ... entityFramework> –
Hãy thử thêm một giá trị cho defaultConnectionFactory của bạn với chuỗi kết nối của bạn hoặc thay đổi hàm tạo mặc định của bạn để nó nhắm mục tiêu chuỗi kết nối khác của bạn –