小编Ben*_*all的帖子

NHibernate:使用Fluent Nhibernate来保存子对象

在我的系统中,我有两个实体 - ShoppingCart和ShoppingCartItem.相当通用的用例.但是,当我保存我的ShoppingCart时,没有任何项目保存到数据库中.

在我的对象中,我创建了一个新的ShoppingCart对象.

ShoppingCart cart = CreateOrGetCart();
Run Code Online (Sandbox Code Playgroud)

然后,我将从数据库中获得的现有产品添加到开头.

cart.AddItem(product);
Run Code Online (Sandbox Code Playgroud)

这只是将项添加到IList的简单包装器.

    public virtual void AddItem(Product product)
    {
        Items.Add(new ShoppingCartItem { Quantity = 1, Product = product });
    }
Run Code Online (Sandbox Code Playgroud)

然后我在Repository上调用SaveOrUpdate

Repository.SaveOrUpdate(cart);
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

   public T SaveOrUpdate(T entity)
    {
        Session.SaveOrUpdate(entity);
        return entity;
    }
Run Code Online (Sandbox Code Playgroud)

我正在使用Fluent NHibernate进行映射:

    public ShoppingCartItemMap()
    {
        WithTable("ShoppingCartItems");

        Id(x => x.ID, "ShoppingCartItemId");
        Map(x => x.Quantity);

        References(x => x.Cart, "ShoppingCartId").Cascade.SaveUpdate();
        References(x => x.Product, "ProductId");
    }


    public ShoppingCartMap()
    {
        WithTable("ShoppingCarts");

        Id(x => x.ID, "ShoppingCartId");
        Map(x => x.Created);
        Map(x => x.Username);

        HasMany<ShoppingCartItem>(x => x.Items)
            .IsInverse().Cascade.SaveUpdate() …
Run Code Online (Sandbox Code Playgroud)

nhibernate nhibernate-mapping fluent-nhibernate

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

Ruby阻止字符串而不是执行

举个例子:

write_as_string { puts 'x' }
Run Code Online (Sandbox Code Playgroud)

然后我希望能够做到

def write_as_string(&block)
  puts block.to_s
end
Run Code Online (Sandbox Code Playgroud)

当我执行此操作时,我希望输出为:

"puts 'x'"
Run Code Online (Sandbox Code Playgroud)

我希望能够接收块并获取块的实际代码而不是执行它.

动机:创建DSL,我希望将模拟转换为许多其他方法调用,隐藏在调用代码中 - 使用现有的对象和方法,而不用猴子修补它们.

对此的任何想法都会很棒!

谢谢

ruby

17
推荐指数
2
解决办法
7400
查看次数

Ruby - 初始化对象时设置属性值

鉴于以下课程:

class Test
  attr_accessor :name
end
Run Code Online (Sandbox Code Playgroud)

当我创建对象时,我想执行以下操作:

t = Test.new {Name = 'Some Test Object'}
Run Code Online (Sandbox Code Playgroud)

目前它导致名称nil仍然存在.这可能吗?

注意:我不想添加初始化程序.

ruby

17
推荐指数
4
解决办法
1万
查看次数

Ruby on Rails的移动版本视图

我经过一些验证后说我做对了.我有以下结构中的Ruby on Rails应用程序:

/ home
   about.rhtml
   index.rhtml
/ display
   index.rhtml
/ data < - 这是由jQuery从display\index页面调用来提供数据来呈现
   push.js.erb
   pull.js.erb
/ layout
   home.rhtml
   display.rhtml

一切都运行良好,但我现在想要添加一个针对移动设备的网站.虽然iPhone正确呈现网站,但提供更有针对性的体验会很不错.理想情况下,我正在考虑拥有一个可以通过.htaccess重定向到的iPhone.domain.com.

为此,我考虑为每个设备
/ iPhone
   home.rhtml 添加另一个视图
   about.rhtml
   display.rhtml

但是,感觉很多数据会被复制,例如,关于页面将在两个地方.我想我可以有一个局部并做一些像渲染:partial =>'home/about'但这看起来有点像hacky.

如何开发我的网站以支持此功能?

我在想一个像这样的结构,但又不知道如何构造代码 - 如何告诉它在iPhone目录中呈现视图...而没有应用主布局
/ display
   / iphone
      index.rhtml

我真的想要一些关于最佳方法的建议,并构建应用程序.虽然应用程序目前遵循一种结构,但它们可能会朝不同的方向发展.

谢谢

iphone mobile ruby-on-rails windows-mobile

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

ASP.net MVC RTM - "不支持项目类型"

安装ASP.net MVC后,当我尝试加载现有的或新的MVC应用程序时(直接来自New Project - 一个使用ASP.NET MVC框架(1.0)(.NET Framework 3.5)创建应用程序的项目)以下错误:


Microsoft Visual Studio

无法打开项目文件"path".

此安装不支持项目类型.

好的帮助

尝试重新安装,这没有帮助.试过devenv/setup也没有帮助.

有任何想法吗?

asp.net-mvc visual-studio

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

Rails - 覆盖has_one上的主键

我有以下关联,基本上我想通过userid链接而不是对象的id.

__CODE__可以用新的覆盖它.如果我一起跑这两次(ish)我得到一个__CODE__错误.

class Tweet < ActiveRecord::Base
  has_one :user_profile, :primary_key => 'userid', :foreign_key => 'twitter_userid' 
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

在Ruby中使用net-sftp进行基于密钥的身份验证

我希望能够使用SFTP登录到许多服务器并下载某些文件,以帮助调试问题.虽然我们可以使用客户端,但我们希望开始自动化流程以简化一切.

我的第一次尝试看起来像这样:

def download(files_to_download, destination_directory)
    Net::SFTP.start(@server, @username, :password => @password) do |sftp|
        files_to_download.each do |f|
            local_path = File.join(destination_directory, File.basename(f))
            sftp.download!(f, local_path)
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但这意味着我们需要密码.理想情况下,我想使用公钥认证,但我在文档或在线中看不到任何对此的引用 - 这可能吗?

我宁愿不使用chilkat.

谢谢

ruby ssh sftp ironruby

6
推荐指数
2
解决办法
8392
查看次数

.htaccess在隐藏重定向时重定向到外部URL

我希望能够将指向我的虚拟主机的域重定向到外部域.

例如,我在.htaccess中有这个:

RewriteCond %{HTTP:Host} ^(?:www\.)?mydomain\.example$ 
RewriteRule ^(.*)$ http://myexternal.example/site [R=301,NC]
Run Code Online (Sandbox Code Playgroud)

但是,当我访问域时,地址栏中的URL将更改为http://myexternal.example/site.

如何在不更改URL的情况下重定向?

还有另一种方法吗?我需要使用框架/ iframe吗?

apache .htaccess

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

Github拉取请求检查

是否可以为请求请求创建Github Check?我知道有WebHooks,但是有没有办法也可以钩入UI?

目标:

  • 提出拉取请求。执行验证并更新拉取请求(如果有效)。

  • 合并请求请求。创建对URL的网络调用。确认更新Github问题。

最好的方法是什么?是否仅通过Web Hook,API调用和获取写入的oAuth凭证?

github github-api

5
推荐指数
2
解决办法
6395
查看次数

.Net远程处理而不使用.Net远程处理?

我提出了一些建议.

我有以下示例:

Appication1.exe - 具有对象MyList

Application2.exe - 需要访问MyList并与对象交互,就好像它是从Application2创建的一样.

我应该使用.NET Remoting(即2.0)还是WCF或其他技术堆栈?有哪些框架可以支持这个?每个有什么优点/缺点?

我应该注意,这更像是一个"帮助"应用程序,不会被开发团队以外的任何人使用.

.net c# wcf remoting

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

SQL Server使用游标查询xml

我目前有以下SQL 2005代码块.我需要做的是将XML作为批量操作导入,但是对于每个记录,我可能需要进行一些额外的处理(可能插入到单独的表中).目前我只能查询第一项,如何以每个DTO环顾四周的光标样式查询完整数据?

DECLARE @open_xml XML
SET @open_xml = '<DataDTOs>
</pre>
< DataDTO>
    < UserId>123456789</UserId>
    < ItemID>0</ItemID>
  < /DataDTO>
< DataDTO>
    < UserId>112456789</UserId>
    < ItemID>10</ItemID>
  </ DataDTO>
< DataDTO>
    < UserId>123456129</UserId>
    < ItemID>20</ItemID>
  </ DataDTO>
< DataDTO>
    < UserId>120056789</UserId>
    < ItemID>444</ItemID>
  < /DataDTO>
</ DataDTOs>'

DECLARE @userid nvarchar(255) 
SELECT @userid = 
  tab.col.value('UserId[1]','VARCHAR(20)')
FROM @open_xml.nodes('//DataDTO') tab(col)
select @userid

-- Do some stuff

-- Get next UserID

-- Do some stuff
Run Code Online (Sandbox Code Playgroud)

任何有关这方面的帮助都会很棒!

谢谢

sql-server

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