0

(对不起,我的英语不好)

在 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-我可能可以使用反射来查看该字段是否存在,或者只是测试每种类型(if (obj is Data)),但是如果可以使用更优雅的方式,那就更好了:)

4

1 回答 1

1

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

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

于 2011-11-12T04:28:35.467 回答