当您使用POCO代替Entity Framework生成的对象时,您必须通过将概念模型(或EDM)的Code Generation Strategy
属性的值设置为EDM设计器中的默认代码生成None
,以及将EDMX文件(.edmx)的Custom Tool
属性设置为空字符串。
如果我得到一个具有POCO并且符合上述要求的二进制文件,我是否可以通过编程方式查询二进制文件以查看是否设置了上述属性?
换句话说,有关EDM设计器属性的信息是否嵌入在二进制文件中的某个位置?
PS:我知道我可以查询二进制文件GetKnownProxyTypes
以查看是否为POCO生成了代理。我还可以查询各个对象,看看它们是否不是从EntityObject
派生的。但是,关于用于生成也写入EF组件的实体的代码生成工具的设计器属性是我想知道的吗?
更新
我想我正在改变这个问题而且我有答案。答案是不。从二进制文件中,您无法确定EDM的代码生成是否已关闭,但如果您有源代码,则可以读取.edmx文件,DesignerInfoPropertySet
部分的值如下所示。
<DesignerInfoPropertySet>
<DesignerProperty Name="CodeGenerationStrategy" Value="None" />
</DesignerInfoPropertySet>