Silverlight 我应该复制实体模型吗?

Silverlight 我应该复制实体模型吗?,silverlight,entity-framework,metadata,ria,Silverlight,Entity Framework,Metadata,Ria,让我设置我的LOB场景 我正在重新编写我们的核心业务应用程序。要求是我创建一个内部可用的应用程序(我想使用Silverlight),供我们的员工每天使用。我还需要提供一个SOAP服务,可以用于输入订单、获取发票等 我还将分批完成这项工作,因此,当我更新新SQL Server数据库中的记录时,我需要确保也更新我们的旧SQL Server 因此,创建一个DAL将从新的SQL server中提取数据,并将数据写回2个数据存储区,这当然是有意义的 创建Silverlight/RIA和WCF web服务都

让我设置我的LOB场景

我正在重新编写我们的核心业务应用程序。要求是我创建一个内部可用的应用程序(我想使用Silverlight),供我们的员工每天使用。我还需要提供一个SOAP服务,可以用于输入订单、获取发票等

我还将分批完成这项工作,因此,当我更新新SQL Server数据库中的记录时,我需要确保也更新我们的旧SQL Server

因此,创建一个DAL将从新的SQL server中提取数据,并将数据写回2个数据存储区,这当然是有意义的

创建Silverlight/RIA和WCF web服务都可以使用的BLL也是有意义的

我已经在它自己的项目中创建了新数据库的数据实体,并在所有其他项目中使用。这里的问题是RIA似乎要求我在ASP.Net项目中创建它,以便获取Silverlight的元数据。如果没有这个,我需要手动为Silverlight重新创建元数据以正确访问它


那么我的问题是,我应该创建实体模型的副本吗?一个是RIA的,另一个是其他的?有更好的方法吗?我是否应该放弃使用RIA,让Silverlight访问WCF服务?或者我应该继续在RIA中复制元数据吗?

我们使用实体直接引用存储和数据传输对象(DTO)在BLL和WCF/GUI/etc之间来回传递几乎相同。我们使用在2之间映射,这意味着几乎没有额外的工作,但我们不必担心给定实体是否附加到上下文/跟踪状态更改/etc

编辑:您肯定希望尽可能保留代码。就我个人而言,我会考虑在BLL之上使用DTO,或者有两组在DAL中协调的存储库(一个RW,一个W)。甚至有元存储库来处理2个存储上的数据集

如果您还没有使用它,Unity和IoC将对您带来真正的好处。您可能还希望使用一种模块化代码模式,以允许您以不同的模式注册[n]个数据存储,这样,当您最终想要停用旧存储时,就不需要做太多工作了


我还想问一下,您的实体是否需要在ASP.Net中定义-您可以简单地从entity/DTO项目中引用适当的DLL,并添加适当的标记/config

我们使用实体直接引用存储和数据传输对象(DTO)在BLL和WCF/GUI/etc之间来回传递几乎相同。我们使用在2之间映射,这意味着几乎没有额外的工作,但我们不必担心给定实体是否附加到上下文/跟踪状态更改/etc

编辑:您肯定希望尽可能保留代码。就我个人而言,我会考虑在BLL之上使用DTO,或者有两组在DAL中协调的存储库(一个RW,一个W)。甚至有元存储库来处理2个存储上的数据集

如果您还没有使用它,Unity和IoC将对您带来真正的好处。您可能还希望使用一种模块化代码模式,以允许您以不同的模式注册[n]个数据存储,这样,当您最终想要停用旧存储时,就不需要做太多工作了


我还想问您的实体是否需要在ASP.Net中定义-您可以简单地从entity/DTO项目中引用适当的DLL,并添加适当的标记/配置

。顺便说一句,标记为已回答的2/13问题有点少,您可能需要改进:)Oops。。。。这有点新鲜。我会检查并标记它们。谢谢你的提醒!顺便说一句,标记为已回答的2/13问题有点低,您可能需要改进:)哎呀。。。。这有点新鲜。我会检查并标记它们。谢谢你的提醒!只需重新阅读Q,这可能不是合适的答案-编辑现在只需重新阅读Q,这可能不是合适的答案-编辑现在