gpt4 book ai didi

entity-framework - 为什么是 Entity Framework Dll 中的 TableAttribute?

转载 作者:行者123 更新时间:2023-12-01 01:29:05 26 4
gpt4 key购买 nike

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 中命名空间,因此以某种方式独立于 Entity Framework 。也许它会被移到System.ComponentModel.DataAnnotations.dll使用下一个 .NET Framework 版本。

现在,如果你想用 TableAttribute 装饰你的 POCO,你必须引用 EntityFramework.dll。只要您不在自定义程序集中使用“真正的”EF 内容( DbContext 等),我就不会将其视为 Entity Framework 的依赖项。

关于entity-framework - 为什么是 Entity Framework Dll 中的 TableAttribute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6034041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com