我创建了项目whith catel 5.2和Orc.EntityFramework 2.0.1。 Model是EF 6.2实体(继承自ModelBase)。当我试图打开模态winodw,并创建我的对象装饰[模型]并绑定DB,抛出“System.Data.Entity.DynamicProxies是不期望的”。 我找到了两个解决这个问题的方法:
1)禁止在构造函数DbContex中创建代理
Configuration.ProxyCreationEnabled = false;
2)使用
[Model(SupportedIEditableObject = false)]
但我不想失去“自动取消”功能
那么,如何正确地做到这一点?
第二个问题。我的模型它有两个对象,它们彼此相关,多对多。所以,lezy load不起作用。为了通过引用下载对象,我必须在存储库上使用.Include(“”)。例如
var projects = new ObservableCollection<Project>(projectRepositiry.GetAll().Include("Employees"));
如果我不使用.Include()然后尝试在代码中访问项目中的Employees集合,则集合为空!虽然它应该加载! 好吧,它可以在我需要所有对象时使用,但如果我只想下载一个对象?
如果我使用
var project = projectRepositiry.GetByKey(1);
项目中的集合员工(虚拟参考)为空。我不能在GetByKey()上使用.Include()。如何使“懒加载”工作?