小编use*_*270的帖子

何时使用带有java SDK for AWS的QueryRequest?

我们有一个围绕QueryRequest构建的框架.但我们的框架是在12-18个月前建成的.当我阅读开发者指南等当前文档时,我看不到对QueryRequest的引用.本文档中的示例(使用AWS SDK for Java Document API查询表)使用QuerySpec,这对我来说是全新的.稍后在同一文档中有更多使用Table.query的示例.还有一个使用对象持久性模型的参考.

QueryRequest是否已过期,或计划弃用?当您有散列键,rangeKeyConditions,FilterExpressions等时,Table.query当前是推荐使用的方法吗?

对于上下文的FYI,我们目前正在使用setSelect(),setTableName(),setKeyConditions(),setQueryFilter()等构建我们的queryRequest.但是一个新的用例看起来需要更复杂的AND和OR条件组合,所以看起来我们需要开始使用FilterExpressions.

java amazon-dynamodb

2
推荐指数
1
解决办法
1690
查看次数

为什么这个rails关联在急切加载后单独加载?

我试图通过急切加载避免N + 1查询问题,但它无法正常工作.相关模型仍在单独加载.

以下是相关的ActiveRecords及其关系:

class Player < ActiveRecord::Base
  has_one :tableau
end

Class Tableau < ActiveRecord::Base
  belongs_to :player
  has_many :tableau_cards
  has_many :deck_cards, :through => :tableau_cards
end

Class TableauCard < ActiveRecord::Base
  belongs_to :tableau
  belongs_to :deck_card, :include => :card
end

class DeckCard < ActiveRecord::Base
  belongs_to :card
  has_many :tableaus, :through => :tableau_cards
end

class Card < ActiveRecord::Base
  has_many :deck_cards
end

class Turn < ActiveRecord::Base
  belongs_to :game
end
Run Code Online (Sandbox Code Playgroud)

我正在使用的查询是在Player的这个方法中:

def tableau_contains(card_id)
  self.tableau.tableau_cards = TableauCard.find :all, :include => [ {:deck_card => (:card)}], :conditions => ['tableau_cards.tableau_id = …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails associations eager-loading

1
推荐指数
1
解决办法
2805
查看次数

我可以在C#中将对象转换为它的泛型类型吗?

很抱歉再次问这个问题.我已经在这里阅读了几个小时的相关主题,但仍然没有完全了解一些关于强制转换和泛型的问题.我正在尝试创建自己的HashSet类,因为我们还不能使用.net 3.5.

错误发生在下面的RetainAll方法中.它编译得很好,但我得到一个运行时错误'无法将类型'System.Collections.DictionaryEntry'的对象转换为在foreach语句中键入'mycompany.UnivID'.

这是否意味着我不能将通用对象强制转换为其实现类型?我尝试了几件事

foreach ((T) obj in set)
Run Code Online (Sandbox Code Playgroud)

但他们不编译.

相关代码是:

public sealed class HashSet<T> : ISet<T> {

  private readonly Hashtable set;

  public HashSet() {
    this.set = new Hashtable();
  }

  public void RetainAll(ISet<T> c) {
    lock (set) {
      foreach (T obj in set) {
        if (!c.Contains(obj))
          this.set.Remove(obj);
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

实现类片段是

public sealed class UnivIDSet : ISet {
  private readonly ISet<UnivID> univIDs;

  public UnivIDSet() : base() {
    univIDs = new HashSet<UnivID>();
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我们得到了我们的UnivID类,它实际上是集合中的对象.

c# generics casting

0
推荐指数
1
解决办法
3771
查看次数

为什么固定装置中的ERB代码会抛出"未定义的方法"?

我正在尝试使用fixture来添加更复杂的测试数据,以便使用Flex中的前端测试特定的场景.我不确定这是用rails做正确的方法.我的rails应用程序是一款纸牌游戏,我试图测试的"更复杂的测试数据"是各种卡片组合.

例如,我想建立一个测试游戏,其中玩家1手中有牌B和C,我特意将牌B和C添加到玩家的手中.

我有玩家,游戏和用户的基本设备,已经存在一段时间并且工作正常.我试图在游戏夹具中添加以下erb代码,以调用Game.start方法,并且正在获取

NoMethodError: undefined method `games' for main:Object
Run Code Online (Sandbox Code Playgroud)

灯具代码片段是:

four:
  id: 4
  num_players: 3
  turn_num: 0
  status_id: 1

<% game_four = games(:four).find
   game_four.start
%>
Run Code Online (Sandbox Code Playgroud)

ruby testing ruby-on-rails

0
推荐指数
1
解决办法
1195
查看次数