Những gì bạn có là chuỗi kết nối ADO.NET hợp lệ - nhưng đó là NOT chuỗi kết nối khung thực thể hợp lệ.
Chuỗi kết nối EF sẽ giống như thế này:
<connectionStrings>
<add name="NorthwindEntities" connectionString=
"metadata=.\Northwind.csdl|.\Northwind.ssdl|.\Northwind.msl;
provider=System.Data.SqlClient;
provider connection string="Data Source=SERVER\SQL2000;Initial Catalog=Northwind;Integrated Security=True;MultipleActiveResultSets=False""
providerName="System.Data.EntityClient" />
</connectionStrings>
Bạn đang thiếu tất cả các metadata=
và providerName=
yếu tố trong chuỗi kết nối EF của bạn ...... bạn về cơ bản chỉ có những gì chứa đựng trong provider connection string
một phần.
Sử dụng trình thiết kế EDMX nên tạo chuỗi kết nối EF hợp lệ cho bạn, trong web.config hoặc app.config của bạn.
Marc
UPDATE: OK, tôi hiểu những gì bạn đang cố gắng để làm: bạn cần một "ADO.NET" chuỗi kết nối thứ hai chỉ dành riêng cho ASP.NET cơ sở dữ liệu người dùng/thành viên. Chuỗi của bạn là OK, nhưng providerName là sai - nó sẽ phải là "System.Data.SqlClient" - kết nối này không sử dụng ENtity Framework - không chỉ định "EntityClient" cho nó sau đó!
<add name="ASPNETMembership"
connectionString="Data Source=MONTGOMERY-DEV\SQLEXPRESS;Initial Catalog=ASPNETDB;Integrated Security=True;"
providerName="System.Data.SqlClient" />
Nếu bạn chỉ định providerName=System.Data.EntityClient
==>Entity Framework chuỗi kết nối (với siêu dữ liệu = và tất cả mọi thứ).
Nếu bạn cần và chỉ định providerName=System.Data.SqlClient
==>thẳng ADO.NET SQL Server chuỗi kết nối mà không cần tất cả những bổ sung EF
Nguồn
2009-09-10 10:13:30
Như một vấn đề của thực tế, nó đã làm, nhưng sau đó tôi nhận được ngoại lệ Không thể mở tập tin vật lý "C: \ OVSS \ Stavicky \ trunk \ Stavicky \ App_Data \ aspnetdb.mdf". Lỗi hệ điều hành 5: "5 (không thể truy xuất văn bản cho lỗi này. Lý do: 15105)". Cố gắng đính kèm cơ sở dữ liệu được đặt tên tự động cho tệp C: \ OVSS \ Stavicky \ trunk \ Stavicky \ App_Data \ aspnetdb.mdf không thành công.Một cơ sở dữ liệu có cùng tên tồn tại hoặc không thể mở tệp được chỉ định hoặc nó nằm trên chia sẻ UNC. Từ một số nguồn, tôi nghĩ, điều này là sai .. Cảm ơn anyway. – Trimack
Tôi không chắc tôi hiểu vấn đề chuỗi kết nối thứ hai. Tôi nên để cho có một tạo ra bởi nhà thiết kế và thêm ASPNETMembership bạn đã viết cho tôi? – Trimack
Nếu bạn có các thực thể của mình trong nhà thiết kế EDMX - chúng cần được truy cập bằng phương tiện của một "EntityClient" và một chuỗi kết nối EF. Nếu bạn sử dụng hệ thống thành viên ASP.NET "out-of-the-box", nó ** KHÔNG ** một phần của mô hình EF của bạn, vì vậy khi bạn tạo một chuỗi kết nối cho cơ sở dữ liệu thành viên ASP.NET của mình, bạn không thể sử dụng " EntityClient "là nhà cung cấp - sử dụng SqlClient. –