【发布时间】:2011-11-19 16:19:50
【问题描述】:
我正在与 EF 和 RIA Services 一起为即将到来的项目进行测试。对于那个项目,我需要继承才能抽象出具体的类型实现。假设我们有一个抽象类 CustomerBase。美国客户需要英国客户以外的其他数据,因此我们可以在不同的模块中为英国和美国实施Customer : CustomerBase。其他模块不必依赖于特定的实现,因为 CustomerBase 已经涵盖了大部分领域。
我构建了一个这样的场景,我的表被完美地创建,RIA 服务将它们复制到 Silverlight (v5) 客户端。但是在 Silverlight 项目中,这样的声明……
CustomerBase customer = new Customer() { /* ... */ };
... 无效,因为 RIA 服务允许其所有实体派生自 Entity(CustomerBase 在主模块上共享,因此每个人都可以访问它)。
你会如何解决这个问题?我看到this 线程,但我找不到满足我需要的样本(我猜链接已损坏)。有没有办法让上面的语句编译,或者有没有解决这种问题的方法?我无法想象我是第一个有这个要求的人。
【问题讨论】:
标签: inheritance entity-framework-4.1 ef-code-first wcf-ria-services silverlight-5.0