(抱歉我的英语不好)
在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但是如果可以采用更优雅的方式,那就更好了:)
答案 0 :(得分:1)
以下博客听起来像你想要的。
“您所要做的就是为您的模型使用部分类,并使用.shared.cs(或.shared.vb)命名该文件。此文件将自动复制到Silverlight项目中,因此无论如何它将保留在客户端上。因此,通过该文件中的所有接口实现,您就完成了。“ http://jeffhandley.com/archive/2009/03/30/ria-services-custom-interfaces.aspx