【发布时间】:2012-06-21 14:37:01
【问题描述】:
我正在使用 EntityFramework Code First 5 并且我有我的数据模型。
例子:
[Table("Contract"]]
public class Contract
{
...
[ForeignKey("SomeKey")]
//[Include]
public virtual BusinessPartner BP
{
...
}
}
WPF 客户端当前使用的数据模型,效果很好。现在我正在编写一个 Silverlight 客户端并使用相同的模型。要访问我使用 RIA 服务的数据库。在我不得不添加一些 RIA 注释,如 [Include] 之前,它在 silverlight 中运行良好(在上面的示例中进行了注释)。
问题是我们在数据模型中使用 .NET 4 客户端配置文件,我们无法更改它。但 RIA 注释位于 System.ServiceModel.DomainServices.Server 命名空间中,需要 .NET 4 或 .NET 4.5。
因此,如果我添加 RIA [Include] 注释,模型将不再编译。
有没有办法在 .NET 4 客户端配置文件中使用 RIA 注释属性,以便我可以在 WPF 和 Silverlight 客户端中使用相同的数据模型?
我已经阅读了一些关于在 XML 文件中定义这些 RIA 属性的内容,但我找不到示例..
谢谢
【问题讨论】:
-
如何为 WPF 项目中缺少的 Silverlight 属性创建虚拟属性,并为 Silverlight 项目中任何不需要的 WPF EF 属性创建虚拟属性?然后你只需用两者来注释所有内容,但它们会在每个项目中生成不同的元数据。
-
问题在于 .NET 4 客户端配置文件中没有 RIA 注释所在的 .dll 文件。它需要 .NET 4 或 .NET 4.5。我正在寻找一种将 RIA 注释属性(如 [Include])与使用 .NET 4 客户端配置文件的数据模型“分离”的方法
-
你似乎没有抓住重点......你可以很容易地创建自己的替换
[Include]和其他属性,以允许它在任一平台上编译。如果您为属性类使用与 Microsoft 相同的命名空间,则即使 using 语句也是相同的。
标签: c# wpf silverlight ria