我遇到了有关实体框架和同一解决方案中的2个项目的问题。
我有2个项目。项目A在Visual Basic中编码,包含实体框架代码。项目B用C#编码,是内部库的一部分(我无法对此代码进行任何修改)
到目前为止,我已经使用了部分类实体框架生成并将其合并到项目A中的我自己的类中。
但现在我需要存储来自项目B的数据。
一种可能的解决方案是在我想保存数据时创建一个虚拟类来传输数据。但是,当我要保存或加载数据时,这样做会产生额外的步骤。
有没有办法保存我忽略的数据?
答案 0 :(得分:1)
一种可能的解决方案是在我想保存数据时创建一个虚拟类来传输数据。
是的 - 他们被称为"数据传输对象" (DTO),它们通常用于像你这样的情况。
如果A和B中的类之间的属性相同,那么像AutoMapper这样的工具可以通过自动创建两个类之间的映射来简化生活。
然而,缺点是,如果您的属性没有直接映射,您必须弄清楚如何配置AutoMapper以在两个类之间进行映射。如果您必须进行复杂的翻译,那么自定义编码会为您提供最大的灵活性。
作为旁注,这不是一个跨语言问题,因为您的类是两种语言的CLR分支。处理两个C#项目时会出现同样的问题。