我有一个问题,使用AutoMapper(这是一个很好的技术)来映射一个业务对象到一个DTO的地方,我从集合中的抽象基类inheritance。 这是我的对象: abstract class Payment class CashPayment : Payment class CreditCardPayment : Payment 我还有一个发票对象,其中包含如下付款的集合: public class Invoice { … properties… public ICollection<Payment> Payments { get; set; } } 我也有这些对象的每个相应的DTO版本。 DtoInvoice对象被定义为: [DataContract] public class DtoInvoice { …properties… [DataMember] public List<DtoPayment> Payments { get; set; } } 这就是我的Mapper定义的样子: Mapper.CreateMap<Invoice, DtoInvoice>(); Mapper.CreateMap<Payment, DtoPayment>() .Include<CashPayment, DtoCashPayment>() .Include<CreditCardPayment, DtoCreditCardPayment>(); Mapper.CreateMap<CashPayment, […]
我正在使用DBContext并有两个类的属性都是虚拟的。 我可以看到在debugging器中,当我查询上下文时,我正在获取代理对象。 但是,当我尝试添加它时,集合属性仍为空。 我认为代理将确保集合被初始化。 因为我的Poco对象可以在其数据上下文之外使用,所以我在构造函数中添加了一个空集合的检查,并在必要时创build它: public class DanceStyle { public DanceStyle() { if (DanceEvents == null) { DanceEvents = new Collection<DanceEvent>(); } } … public virtual ICollection<DanceEvent> DanceEvents { get; set; } } 这工作之外的数据上下文,但如果我检索一个对象使用查询,虽然testing是真实的,当我尝试设置它时,我得到以下exception:'属性'DanceEvents'types'DanceStyle_B6089AE40D178593955F1328A70EAA3D8F0F01DDE9F9FBD615F60A34F9178B94'不能被设置,因为集合已经被设置为一个EntityCollection。 我可以看到它是空的,我不能添加到它,但我也不能将其设置为一个集合,因为代理说它已经设置。 所以我不能使用它。 我很困惑。 这里是DanceEvent类: public class DanceEvent { public DanceEvent() { if (DanceStyles == null) { DanceStyles = new Collection<DanceStyle>(); } […]
我一直听到entity frameworkstream利的API,但我很努力地find一个很好的参考。 它是什么? 我们使用entity framework和提供的build模工具。 那就是这一切吗? 还是有点不同? 同样,如果问题不是太广泛,POCO是什么? 我知道它代表简单的旧CLR对象,但是对于我来说,对于使用EF的devise师模型工具来说,这意味着什么呢? 如果这个问题太模糊,请忽略它。 我只是在这里学习,你愿意提供的任何信息都是有帮助的。
我刚开始学习POCO,但不明白它的用途和优势。 即使下面的链接的stackoverflow没有帮助我。 什么是entity framework与POCO 有人可以用一个简单的例子来解释POCO的用法吗?
我见过很多关于POCO的文章。 这是什么?
我试图使用VS2010的EF4使用存储库模式。 为此,我通过右键单击实体模型devise器并单击添加代码生成项来使用POCO代码生成。 然后我selectPOCO模板并获得我的课程。 我希望能够做的是将我的解决scheme组织成实体(POCO)类的单独项目,以及实体模型和存储库代码的另一个项目。 这意味着我的MVC项目可以使用POCO类来实现强types的视图等,而不必知道仓库或者必须引用它。 为了将它们连接在一起,我将有另一个单独的接口项目,并使用IoC。 听起来不错,我只是不知道如何生成自己的项目类! 我可以复制它们,然后更改它们上的命名空间,但是我想避免手动工作,每当我更改数据库中的模式,并想更新我的模型。 谢谢
只是想知道什么是更好的方式来configuration我的模型? 我喜欢Fluent API,因为那时我的POCO没有充满EF特定的属性。 有什么你不能用你可以使用属性的Fluent API?
我已经编程了一段时间,之前已经使用了LINQ-to-SQL和LINQ-to-Entities(尽pipe在使用实体时它已经处于Entity / Table 1-1关系 – 即与L2SQL没什么区别) 我一直在大量阅读有关控制反转,工作单元,POCO和存储库模式的信息,并希望在我的新应用程序中使用这种方法。 在那里我正在努力find一个清晰,简洁的EF4初学者指南,不会假定EF1的知识。 我需要回答的具体问题是: 首先代码/模型? 关于EF4的优点/缺点(例如,如果我先做代码,在以后更改代码并需要重新生成我的数据库模型会发生什么情况 – 数据是否会保留并转换或丢失? 假设我要去代码优先(我想看看EF4如何将其转换为数据库模式),我怎么才能真正开始? 很多时候我已经看到有实体图的文章,声明“所以这是我的实体模型,现在我要…” – 不幸的是,我不清楚他们是否在devise器中创build模型,将它保存到生成代码,然后停止任何进一步的自动代码生成 – 或者 – 他们已经编码(POCO)? 类,并以某种方式将它们导入deisgner视图? 我想我真正需要的是理解“魔法”来自何处以及如何直接从数据库生成EF模型。 我知道这个问题有点含糊,但我不知道我不知道 – 所以任何input/更正/澄清赞赏。 不用说,我不希望任何人坐在这里教我EF – 我只是喜欢一些很好的教程/论坛/博客/等。 为完整的实体新手
如何使用entity framework4代码优先(POCO)声明一对一的关系? 我发现这个问题(entity framework4中的一对一关系) ,但是这个答案引用的文章没有用(有一行代码是1-1关系,但没有提及如何定义它)。
这是我简单的User POCO类: /// <summary> /// The User class represents a Coderwall User. /// </summary> public class User { /// <summary> /// A User's username. eg: "sergiotapia, mrkibbles, matumbo" /// </summary> public string Username { get; set; } /// <summary> /// A User's name. eg: "Sergio Tapia, John Cosack, Lucy McMillan" /// </summary> public string Name […]