客户端上的EF Code Only继承

时间:2011-11-10 09:50:51

标签: ef-code-first code-first wcf-ria-services ef4-code-only

(抱歉我的英语不好)

在Silverlight 4 + RIA Services + EF4 Code Only应用程序中,我的DbContext上有一些包含“IsActive”字段的类 - 我想从客户端知道实体是否有此字段并获取它。我的第一个想法是使用界面:

public interface IHasActiveField
{
    bool IsActive {get; set;}
}

public class Data: IHasActiveField
{
    public bool IsActive {get; set;}
}

这在服务器上工作正常,但在客户端上,RIA生成的代码没有任何对我的接口的引用,所以我无法测试if (obj is IHasActiveField) - 如果我尝试从基类继承而发生同样的情况IsActive字段,在客户端,类Data始终从Entity继承 - 我可能可以使用反射来查看字段是否存在或只测试每种类型({{1但是如果可以采用更优雅的方式,那就更好了:)

1 个答案:

答案 0 :(得分:1)

以下博客听起来像你想要的。

  

“您所要做的就是为您的模型使用部分类,并使用.shared.cs(或.shared.vb)命名该文件。此文件将自动复制到Silverlight项目中,因此无论如何它将保留在客户端上。因此,通过该文件中的所有接口实现,您就完成了。“   http://jeffhandley.com/archive/2009/03/30/ria-services-custom-interfaces.aspx