Tôi vừa tạo điều khiển người dùng. Điều khiển này cũng sử dụng lớp Khung thực thể tĩnh của tôi để tải hai combobox. Tất cả là tốt và chạy mà không có một vấn đề. Thiết kế và thời gian chạy đang hoạt động. Sau đó, khi tôi ngừng ứng dụng, tất cả các biểu mẫu chứa UserControl của tôi không hoạt động nữa trong thời gian thiết kế. Tôi chỉ thấy hai lỗi:EF trong một UserControl không thể nhìn thấy app.config?
Lỗi1: Kết nối được chỉ định có tên hoặc không được tìm thấy trong cấu hình, không có ý định được sử dụng với nhà cung cấp EntityClient hoặc không hợp lệ.
Lỗi 2: Biến số ccArtikelVelden
không được khai báo hoặc chưa bao giờ được chỉ định. (ccArtikelVelde là tôi UserControl
)
Runtime mọi thứ vẫn đang làm việc
tĩnh lớp EF Repositoy của tôi:
public class BSManagerData
{
private static BSManagerEntities _entities;
public static BSManagerEntities Entities
{
get
{
if (_entities == null)
_entities = new BSManagerEntities();
return _entities;
}
set
{
_entities = value;
}
}
}
Một số luận lý xảy ra trong UserControl của tôi để tải các dữ liệu trong comboboxes:
private void LaadCbx()
{
cbxCategorie.DataSource = (from c in BSManagerData.Entities.Categories
select c).ToList();
cbxCategorie.DisplayMember = "Naam";
cbxCategorie.ValueMember = "Id";
}
private void cbxCategorie_SelectedIndexChanged(object sender, EventArgs e)
{
cbxFabrikant.DataSource = from f in BSManagerData.Entities.Fabrikants
where f.Categorie.Id == ((Categorie)cbxCategorie.SelectedItem).Id
select f;
cbxFabrikant.DisplayMember = "Naam";
cbxFabrikant.ValueMember = "Id";
}
Cách duy nhất để làm cho biểu mẫu của tôi hoạt động trở lại, thời gian thiết kế, là nhận xét phần EF trong UserControl (xem ở trên) và xây dựng lại. Nó rất lạ, mọi thứ đều nằm trong cùng một assembly, cùng một không gian tên (vì mục đích đơn giản).
Bất kỳ ai có ý tưởng?
Tôi đã ngừng đọc ngay khi đọc từ "lớp Khuôn khổ thực thể tĩnh". Đừng làm thế nữa. Hiện nay. 'ObjectContext' không được thiết kế để sử dụng theo cách này. – Aaronaught