我正在构建一个nuget
包,该包将在企业中的许多项目中共享。它本质上是实体框架模型。在某些时候,这些类是从数据库中搭建的,并且生成的类都被定义为部分类(所有示例仅用于说明目的):
public partial class Customer { ... }
public partial class Order { ... }
有些项目利用了这个partial
并开发了超出数据库关注范围的其他功能:
public partial class Customer {
// get distance from the office to customer home
public decimal Distance { get { ... } }
}
允许在LINQ语句中使用此计算值:
from c in Customer where Distance < 100 select c
但是现在&#34;核心&#34;类集在nuget包中,类不再局限。有没有办法强迫nuget尊重partial
属性?我意识到它的耦合太紧;但它会极大地简化来自&#34;嵌入式&#34;模型到nuget
答案 0 :(得分:6)
答案 1 :(得分:1)
是的,这是不可能的。除了@dbraillon的回答
当编译器编译项目时, partials会变成整个类。所以在dll中没有partial classes
的概念。
所以:
public partial class MyPartial {
public int FieldA;
}
public partial class MyPartial {
public int FieldB;
}
编译时成为以下内容:
public class MyPartial {
public int FieldA;
public int FieldB;
}