c# – UserControl中的EF无法看到app.config?
发布时间:2020-12-15 04:20:21 所属栏目:百科 来源:网络整理
导读:我刚刚创建了一个用户控件. 此控件还使用我的静态实体框架类来加载两个组合框. 一切都很好,运行没有问题.设计和运行时正在运行. 然后,当我停止应用程序时,包含我的UserControl的所有表单在设计时不再有效.我只看到两个错误: ERROR1: 指定的命名连接在配置
我刚刚创建了一个用户控件.
此控件还使用我的静态实体框架类来加载两个组合框. 一切都很好,运行没有问题.设计和运行时正在运行. 然后,当我停止应用程序时,包含我的UserControl的所有表单在设计时不再有效.我只看到两个错误: ERROR1: 错误2: 运行时一切都还在运行 我的静态EF Repositoy类: public class BSManagerData { private static BSManagerEntities _entities; public static BSManagerEntities Entities { get { if (_entities == null) _entities = new BSManagerEntities(); return _entities; } set { _entities = value; } } } 我的UserControl中发生了一些逻辑,用于加载组合框中的数据: 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"; } 使表单再次工作的唯一方法是设计时间,即在UserControl中注释掉EF部分(见上文)并重建. 有人有想法吗? 解决方法
看起来你在设计模式下以某种方式执行数据库代码.为了防止这种情况,请搜索导致此问题的控件和方法,并使用:
if (DesignMode) return 此外,静态缓存数据库上下文是一个非常糟糕的主意.它会导致多线程问题,以及进行插入和删除时的问题.数据库上下文用于单个“工作单元”,添加2,删除3个其他对象并调用SaveChanges一次. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |