我无法弄清楚我的实体奇怪行为的原因。 我正在使用从数据库生成的POCO类和CTP5引入的dbContext模板。 在我的DbContext中,我有几个实体,当我使用它们时,它们是代理,除了一个。该实体是作为其他实体生成的,它只有3个简单属性。 我找到了一个与What causes POCO proxy entities to only sometimes be created in Entity Framework 4相关的线程,但我的所有实体都添加了new关键字,我从不对任何对象使用CreateObject。
Customer customer = new Customer();
customer.ID = "ID";
customer .Name = "Name";
repository.add(customer);
repository.Save();
为什么只有它不是代理? 我还检查了要求是这里定义的代理http://msdn.microsoft.com/en-us/library/dd468057.aspx以及我应该在我的实体模型中定义的属性,并且都遵循指南。 感谢
答案 0 :(得分:0)
阅读ADO.NET博客我发现了一篇文章,他们说:“如果实体类型是密封的和/或没有虚拟属性,那么Create只会创建一个实体类型的实例”,所以我认为这就是原因为什么只有简单属性的实体不是代理。如果我错了,我赞赏别人的观点。