关于c#partial class accessibility

时间:2013-06-05 12:32:07

标签: c# entity-framework ef-code-first code-first partial-classes

我对c#中的部分类有疑问 enter image description here

在这张图片中,我有一个域模型。我已将此参数(DomainModelLib)添加到客户端应用程序和repoistory应用程序。

存储库应用程序将此域模型类用作“DbSet”并从数据库获取数据。如您所见,在模型分部类中创建了实现。

我引用了Model to Client应用程序。我希望Product类的第一部分(第一个红框)可以在Client应用程序中访问但是类的第二部分(底部红框)无法访问。

但是在存储库中应该可以访问两个部分。这可能吗?

(NHibernate XML映射保持与用户的关系,我在实体框架中以这种方式保留用户的某些东西)

2 个答案:

答案 0 :(得分:0)

可访问性不以任何方式定义,哪个源文件对分部类有贡献。

我完全按照说明这样做的唯一方法是在底部红框internal中声明成员,并使用[InternalsVisibleTo]允许EFRepository项目访问DomainModelLib中的内部成员

你可能想要考虑替代方案......如果不确切地知道你想要实现什么,很难提出好的选择,但是给两个不同的“外部”库提供不同的可访问性从根本上说是棘手的。

答案 1 :(得分:0)

可以创建一个新的库(比如X)。将底部红框移动到那里。从域和回购中引用X.