【发布时间】:2012-08-17 02:10:05
【问题描述】:
我正在使用 MVC WebAPI 为 silverlight 应用程序提供动力。 POCO 对象在 MVC 和 Silverlight 之间共享。所有的 POCO 都在一个 .Net 类库中,我创建了一个 Silverlight 类库,所有的 POCO 都添加为链接,以便我可以共享代码。不幸的是,这会导致数据注释出现问题,因为 Silverlight 类库无法引用 EntityFramework.dll,因此无法编译 [ForeignKey] 等属性。
我最终将所有注释都包装成这样:
#if !SILVERLIGHT
[ForeignKey("SecurityGroupID")]
#endif
public virtual SecurityGroup SecurityGroup { get; set; }
有没有人想办法不让#if !SILVERLIGHT 包装所有注释? ([Column]、[Table]、[ForeignKey] 等?)。
我考虑过的一个可能的解决方案是在子命名空间 (MyProject.FakeAttributes) 中创建具有匹配构造函数的空白属性,然后在 Silverlight 版本中导入该命名空间。有人认为该解决方案有任何问题吗?
【问题讨论】:
标签: c# silverlight entity-framework entity-framework-4