Table 属性(可用于将 POCO 类映射到正确的数据库名称/架构)位于 EntityFramework.dll 中是否有充分的理由?
这是否会阻止您创建一个仅包含您的实体而不依赖于特定数据访问技术的域项目?例如,如果我使用此属性,我不相信这些类可以移植到 Silverlight。
这是一个疏忽,还是我错过了什么?
我意识到我可以使用 Fluent API 来规避这个问题,但该属性似乎更适合此目的。
我认为是因为 EF 4.1 中添加了 TableAttribute。它属于命名空间System.ComponentModel.DataAnnotations
并且可能会被添加到System.ComponentModel.DataAnnotations.dll
如果 EF 4.1 是常规 .NET Framework 版本的一部分,则需要进行程序集。但由于 EF 4.1 是独立于框架更新发布的,因此它们无法触及框架核心程序集。因此,它现在位于 EntityFramework.dll 中,但仍位于System.ComponentModel.DataAnnotations
命名空间,因此在某种程度上独立于实体框架。也许它会被搬进System.ComponentModel.DataAnnotations.dll
与下一个 .NET Framework 版本一起使用。
目前,如果您想使用 TableAttribute 装饰 POCO,则必须引用 EntityFramework.dll。只要您不使用“真正的”EF 东西(DbContext
等)在您的自定义程序集中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)