【问题标题】:EF Code Fist inheritance with RIA Services and SilverlightEF Code Fist 继承与 RIA 服务和 Silverlight
【发布时间】:2011-11-19 16:19:50
【问题描述】:

我正在与 EF 和 RIA Services 一起为即将到来的项目进行测试。对于那个项目,我需要继承才能抽象出具体的类型实现。假设我们有一个抽象类 CustomerBase。美国客户需要英国客户以外的其他数据,因此我们可以在不同的模块中为英国和美国实施Customer : CustomerBase。其他模块不必依赖于特定的实现,因为 CustomerBase 已经涵盖了大部分领域。

我构建了一个这样的场景,我的表被完美地创建,RIA 服务将它们复制到 Silverlight (v5) 客户端。但是在 Silverlight 项目中,这样的声明……

CustomerBase customer = new Customer() { /* ... */ };

... 无效,因为 RIA 服务允许其所有实体派生自 EntityCustomerBase 在主模块上共享,因此每个人都可以访问它)。

你会如何解决这个问题?我看到this 线程,但我找不到满足我需要的样本(我猜链接已损坏)。有没有办法让上面的语句编译,或者有没有解决这种问题的方法?我无法想象我是第一个有这个要求的人。

【问题讨论】:

    标签: inheritance entity-framework-4.1 ef-code-first wcf-ria-services silverlight-5.0


    【解决方案1】:

    在##csharp@freenode.net 中进行大量阅读和讨论后,我认为解决此问题的最佳方法是在 Silverlight-Client 上创建 CustomerBase 的实现,该实现包装了 RIA 服务生成的客户实体。在那里,我覆盖了所有属性,让它们访问实体的字段并即时实现 INotifyPropertyChanged。

    【讨论】:

      猜你喜欢
      • 2011-02-05
      • 1970-01-01
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多