我正在为即将到来的项目使用 EF 和 RIA 服务。对于那个项目,我需要继承才能抽象出具体的类型实现。假设我们有一个抽象类CustomerBase。美国客户需要英国客户以外的其他数据,因此我们可以Customer : CustomerBase
在不同的模块中为英国和美国实施。其他模块不必依赖于特定的实现,因为 CustomerBase 已经涵盖了大部分领域。
我构建了一个这样的场景,我的表被完美地创建,RIA 服务将它们复制到 Silverlight (v5) 客户端。但是在 Silverlight 项目中,这样的声明...
CustomerBase customer = new Customer() { /* ... */ };
... 无效,因为 RIA 服务允许它的所有实体从Entity派生(CustomerBase在主模块上共享,因此每个人都可以访问它)。
你会如何解决这个问题?我看到了这个线程,但是我找不到可以满足我需要的示例(我猜链接已损坏)。有没有办法让上面的语句编译,或者有没有解决这种问题的方法?我无法想象我是第一个有这个要求的人。