我所有的实体将具有以下属性:替代界面W/RIA服务
Employee CreatedBy { get; set; }
Employee ModifiedBy { get; set; }
DateTime CreatedDate { get; set; }
DateTime ModifiedDate { get; set; }
这是一个非常大的应用程序和实体都在从不同的数据库拉出,因此,在不同的.edmx
文件。
大多数情况下,这些将显示在DataGrid
,我希望有一个工具提示显示所有这些信息。 Employee
是每个数据库中的视图。
我通常会这样做,将创建一个接口IEmployee
即每个名称空间的Employee
实体将实现。然后,我会创建一个IToolTipEnabled
接口与上面列出的属性,我会实现,无论需要。
然后,我将能够在Silverlight端使用单个转换器来获取工具提示内容。事实上,我必须基本上为每个实体类型创建一个新的转换器,以便演绎正确。
有没有一种很好的方法来做到这一点?
感谢您花时间阅读本文,并感谢您能够提供的任何帮助/见解!
编辑:ken2k的解决方案肯定是正确的,只需将接口的” .shared.cs'文件,并在同一个共享文件(或其他共享文件),把类的部分类定义实现界面。这就是所需要的。
但可以用RIA服务这项工作?我不断收到错误,然后我发现:http://forums.silverlight.net/t/173718.aspx/1这似乎说这是不可能的... – nosirrahcd 2012-08-09 18:34:54
@ user468341尝试保存您的部分类(实现你的界面)放在名为XXX.shared.cs的文件中(例如上面例子中的User.shared.cs)。 RIA服务使用此模式自动将C#代码从服务器端共享到客户端(代码复制到客户端代理中)。 – ken2k 2012-08-09 21:11:58
@ ken2k如果你这样做,它几乎可以工作;它似乎没有通过电线将属性发送回服务器端。我接近完成这项工作。 – DaleyKD 2012-08-21 15:01:26