代码之家  ›  专栏  ›  技术社区  ›  Budda

.NET RIA服务-使用自定义数据层[关闭]

  •  1
  • Budda  · 技术社区  · 16 年前

    有一个与业务逻辑层(BLL)一起工作的Web应用程序。BLL从数据访问层(DAL)获取数据。DAL通过数据库获取数据并进行自定义映射。

    目前,需要在Web应用程序中添加一些基于Silverlight的功能。为此,计划使用.NET RIA服务。

    在演示视频中( http://silverlight.net/learn/videos/all/net-ria-services-intro/ )事情解释得很清楚:

    1. 创建实体数据 模型(例如使用ef);
    2. 创建域服务 使用早期的创建数据模型 数据上下文。

    我想很明显,在我的例子中,将ef作为数据上下文开始使用不是一个很好的主意:这种方法将需要与直接跳过dal和bll逻辑的db数据一起工作。


    请告知:

    1. 在我的网站上获得Silverlight功能的更好方法是什么:要使用RIA服务或更好地跳过RIA服务,实现自己的Web服务来提供数据,直接从Silverlight应用程序使用此WS)?
    2. 如果我们仍然要使用RIA,如何创建将使用BLL作为数据源的数据上下文?

    欢迎有其他想法或想法。

    谢谢。

    2 回复  |  直到 13 年前
        1
  •  3
  •   Nikhil Kothari    16 年前

    RIA服务没有耦合到实体框架。您可以使用任何DAL,包括您自己的DAL。

    具体来说,不是从LinqToEntitiesDomainService派生,而是从DomainService派生。您可以编写查询、插入、更新、删除方法(取决于您需要哪些方法),并在它们的实现中调用DAL。

    实体类型可以是POCO类型-它们至少需要一个或多个标记为[键]的成员。

    这应该足以让你开始。

    根据你的情况,这可能就足够了。如果您有一个更复杂的DAL,您甚至可以创建一个为您的DAL定制的DomainService基类。这样做的一些原因: 1。希望提供PersisteChangeSet的DAL特定实现(向DAL提交一系列更改) 2。希望将特定于DAL的元数据转换为不可知DAL的元数据。假设您有一种特定于DAL的方法来标识哪些是关键成员、关联成员等,并且您希望将DAL元数据转换为等效的[键]、[关联]等元数据。

    希望这有帮助。

        2
  •  0
  •   Asif Ashrafi    15 年前

    感谢您提供此信息。我已经让我的自定义实体使用ASP.NET服务器应用程序中的RIA服务在Silverlight4中工作。

    不过,我在datactract中使用了key attribute,我有一些现有的对象,它们是DTO(或datacontracts),而这些对象没有key attribute。

    这是否意味着我必须更改现有的DTO?是否有其他方法允许使用现有的DTO??

    阿什拉菲

    推荐文章