【问题标题】:Debug Silverlight RIA DomainService to DomainContext Code Generation调试 Silverlight RIA DomainService 到 DomainContext 代码生成
【发布时间】:2011-04-06 03:59:59
【问题描述】:

我在 Visual Studio 2010 中使用 Silverlight 4。

我的项目中有一些通过 RIA 引用的域服务。

我特别关心的是域服务,它们返回或在其参数中引用特定于域的(非实体)POCO。

当 Silverlight 客户端项目发生代码生成时,我发现有时正在为我的 DomainServices 创建 DomainContext(s),而有时它们不是在我的一些代码更改之后。同样,有时会创建支持性 POCO,有时则不会。

我不知道需要什么规则才能正确且一致地生成 DomainContext 代码。至少,当用于创建 DomainContext 和支持类的代码生成正在运行时,我希望看到某种控制台输出,这样我就可以确定为什么某些代码生成没有创建我所期望的。

是否有任何方法可以调试此过程,或获取 Visual Studio 为 POCO 构建 DomainContext 和 Silverlight 端类时发生的操作的日志?至少;有没有一套规则可以帮助我更好地理解幕后发生的事情?

【问题讨论】:

  • 您对存储过程和复杂类型做了很多工作吗?有哪些行不通的例子?
  • 我有一个简单的对象:具有 2 个属性的 SimpleSelection。一个 Id (int) 和一个 Name (string)。没有生成,直到我删除了包含这两个属性的构造函数!
  • 您是否使用 [Key] 属性标记了 Id?
  • @Derek 我的评论完全正确。您希望结转的每个类都必须可以使用标记为 [Key] 的唯一值来识别。对于这不重要的情况,我只需添加一个带有为该属性生成的 GUID 的 Key。
  • 我没有添加 [Key] 属性,删除带参数的构造函数后似乎工作正常。这可能是 RIA 服务 SP1 的变化(虽然我不确定)。

标签: silverlight visual-studio-2010 poco ria domainservices


【解决方案1】:

如果您将“MSBuild 项目构建输出详细程度”设置为诊断,则在 Visual Studio 2010 中构建时应该会看到很多详细的输出:

Tools > Options... > Projects and Solutions > Build and Run
    MSBuild project build output verbosity: Diagnostic

IIRC 您可以看到 RIA 工具执行 的输出,但它没有告诉您它跳过了什么或为什么。

【讨论】:

    【解决方案2】:

    检查this,它正在处理存储过程和复杂类型,但它会让您了解返回自定义 poco 需要做什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多