Tôi đang sử dụng cơ sở dữ liệu trước và có tuyên bố switch
trông giống như sau:"loại thực thể không phải là một phần của mô hình cho bối cảnh hiện tại" lỗi được ném khi dự án chứa nhiều hơn một tệp EDMX
switch (site)
{
case Site.One:
using (OneContext one = new OneContext())
return one.OrganizationObjects.SingleOrDefault(x => x.u_Name == orgName)?.g_org_id;
case Site.Two:
using (TwoContext two = new TwoContext())
return two.OrganizationObjects.SingleOrDefault(x => x.u_Name == orgName)?.g_org_id;
default:
throw new NotImplementedException();
}
Cả hai cơ sở dữ liệu là khá giống nhau và có gần như tất cả các mô hình tương tự.
Nếu tôi xóa tệp "Two" EDMX và nhận xét điều kiện, thì OneContext hoạt động hoàn hảo.
Nếu tôi thêm tệp TwoContext EDMX vào dự án và chạy lại mã, mã "OneContext" không thành công khi truy vấn OrganizationObjects.
Tôi đảm bảo từng ngữ cảnh đang sử dụng đúng chuỗi kết nối, nhưng lỗi này vẫn xảy ra :
Cả edmx là trong cùng một thư mục? – Eldho
@Eldho Yeah. Đó là nhiều EDMX trong cùng một thư mục. Họ có nên ở trong các thư mục khác nhau nếu các mô hình tương tự không? – ernest
Bạn có thể thử tách nhiều thư mục này không. Tôi đã có một vấn đề như nếu edmx thứ hai được thêm vào tôi đã bị mất các lớp tt edmx đầu tiên. nó hoạt động khi tách ra. – Eldho