.net 更改实体可访问性
我想使一个实体成为内部实体。我已将实体、其标量属性和导航属性更改为内部。我在尝试构建时遇到以下错误: 错误6036:EntityType“文件”具有“内部”可访问性,EntitySet“文件”具有具有“公共”可访问性的get属性。EntitySet的get属性的访问限制不得小于包含EntityType的访问限制 由于此错误,我无法编辑designer.cs。它未生成。我已经检查了edmx文件,但没有任何与“文件”或“文件”关联的公共值。我该怎么办.net 更改实体可访问性,.net,entity-framework,.net,Entity Framework,我想使一个实体成为内部实体。我已将实体、其标量属性和导航属性更改为内部。我在尝试构建时遇到以下错误: 错误6036:EntityType“文件”具有“内部”可访问性,EntitySet“文件”具有具有“公共”可访问性的get属性。EntitySet的get属性的访问限制不得小于包含EntityType的访问限制 由于此错误,我无法编辑designer.cs。它未生成。我已经检查了edmx文件,但没有任何与“文件”或“文件”关联的公共值。我该怎么办 在VS实体设计器中打开模型 切换到“模型浏览器”
- ModelName.edmx
- 模型
- 实体类型
- 复杂类型
- 联想
- 实体容器:MyEntities
- 实体集
- 模型
谢谢,这就成功了。现在我得到了不同的错误:“不一致的可访问性:属性类型'System.Data.Objects.DataClasses.EntityCollection'比属性'BLL.Proje.tblFiles'更难访问。”。我已经检查了ModelName.edmx>ModelName.Store>Tables/Views>tblFiles,但它没有任何可访问性属性。我手动编辑了设计器代码,但它确实恢复为public,所以我认为有一种更合适的方法?这是一个C#错误,而不是EDMX错误。什么是BLL.Proje.tblFiles
?Proje是另一个实体。文件实体与名为“tblFiles”的导航属性的Proje关联。事实证明,我必须更改Proje表上tblFiles导航属性的access属性,它现在可以工作了。非常感谢。我也没有EntityContainer节点,但是在编辑XML之后它出现了!我知道原因:)您无法在浏览器中看到EntitySet,因为您首先将容器的可见性更改为“内部”,然后尝试查找EntitySet(默认情况下是公共的)。这就是他们失踪的原因。尝试设置从低级实体到高级实体的可见性,即1.实体2.实体集3.实体容器
<EntitySet Name="Locations" EntityType="MyComponent.Location" a:GetterAccess="Internal" />