小编Oza*_*ray的帖子

如何正确使用NHibernate ISession对象 - 会话已关闭!错误

我在NHibernate中遇到了ISessions的问题.我一直在"会议结束!" 错误.有人可以告诉我正确的模式,包括以下方法的定义以及何时使用每种方法:

ISession.Close()
ISession.Dispose()
ISession.Disconnect()
Run Code Online (Sandbox Code Playgroud)

这是我的问题.我有一个回调设置来启动一个每隔几分钟向玩家颁发徽章的流程.但是我一直在"会议结束!" 关于无法关联集合的错误或错误.

这是我的存储库:

public class NHibernateRepository : IRepository
{
#region Fields

private ISession _session;
private readonly ISessionFactory _sessionFactory;
#endregion

#region Constructors

public NHibernateRepository(ISessionFactory sessionFactory)
{
    _sessionFactory = sessionFactory;
}

#endregion

#region IRepository Implementation

public ISession OpenSession()
{
    _session = _sessionFactory.OpenSession();
    return _session;
}

public IQueryable<TModel> All<TModel>()
{
    return _session.Linq<TModel>();
}

public void Save<TModel>(TModel model)
{
    _session.Save(model);
}
public void Update<TModel>(TModel model)
{
    _session.Update(model);
}
public void Delete<TModel>(TModel model)
{
    _session.Delete(model);
}

public ITransaction BeginTransaction()
{ …
Run Code Online (Sandbox Code Playgroud)

nhibernate design-patterns

9
推荐指数
3
解决办法
3万
查看次数

如何使用Magento中的joinTable或joinField选择具有别名的特定字段

我想在Magento管理面板中可见的发票网格中预过滤*数据.

是我之前提出的一个问题,这个问题与为此提出的解决方案有关,因此它可能是一个很好的解释.

所以,我正在修改Mage_Adminhtml_Block_Sales_Invoice_Grid :: _ prepareCollection方法,以便它首先获取登录管理员引用的客户.然后它将从这些客户获取订单 - 理想情况下只有订单ID - 然后将此集合加入sales/order_invoice_grid,以便为此管理员列出发票.

根据最后的答案并使用这些文档,以下是我尝试加入此信息的3种方法:(代码示例1)

$collection = Mage::getResourceModel('customer/customer_collection');        
$collection->joinTable('sales/order_grid', 'customer_id=entity_id', array('*'));
$collection->joinTable('sales/invoice_grid', 'order_id=main_table.entity_id', array('*'));
Run Code Online (Sandbox Code Playgroud)

当我执行上述操作时,我看到以下错误:

A joint field with this alias (0) is already declared.

#0 /var/www/magento/app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php(706): Mage::exception('Mage_Eav', 'A joint field w...')
#1 /var/www/magento/app/code/local/Myproject/Adminhtml/Block/Sales/Invoice/Grid.php(41): Mage_Eav_Model_Entity_Collection_Abstract->joinTable('sales/invoice_g...', 'order_id=main_t...', Array)
#2 /var/www/magento/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php(576): Myproject_Adminhtml_Block_Sales_Invoice_Grid->_prepareCollection()
#3 /var/www/magento/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php(582): Mage_Adminhtml_Block_Widget_Grid->_prepareGrid()
Run Code Online (Sandbox Code Playgroud)

如果我删除对joinTable的第二次调用,上面的代码可以工作,但它不是我想要的.

我尝试的另一种方法是使用此代码:

$collection = Mage::getResourceModel('customer/customer_collection');        
$collection->joinTable('sales/order_grid', 'customer_id=entity_id', array('entity_id as order_entity_id'));
$collection->joinTable('sales/invoice_grid', 'order_id=main_table.entity_id', array('*'));
Run Code Online (Sandbox Code Playgroud)

这里错误出现在第二行,我实际上尝试将字段order.entity_id别名,以便它不与发票表entity_id冲突.但是会产生如下错误:

已存在具有相同ID"1"的Item(Mage_Customer_Model_Customer)

我只需要订单ID,以便我可以获得相关的发票,这表明我也可以使用joinField函数,我尝试如下:

$collection = Mage::getResourceModel('customer/customer_collection');
$collection->joinField('order_entity_id', 'sales/order_grid', 'entity_id', 'customer_id=entity_id' , null, 'left'); …
Run Code Online (Sandbox Code Playgroud)

magento e-commerce

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

设计一个只有在没有可能的死锁时才提供锁的类

我最近遇到了这个面试问题(在一个论坛上发布了一些......看起来这是一个真实的面试问题):

设计一个只有在没有可能的死锁时才提供锁的类.

没有提供其他信息.我不太清楚如何解释这一点.假设pthreads模型,面试官是否正在寻找锁定经理类?任何想法都会有所帮助

mutex deadlock pthreads

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

Python常量声明

如果我声明一个包含变量的const类:

例如

class const:
    MASTER_CLIENT_CONNECTED = 0
    CLIENT_CONNECTED = 1        
    GET_SERVER_QUEUE = 9998    
    ERROR = 9999
Run Code Online (Sandbox Code Playgroud)

有没有办法在不创建新类的情况下达到这个变量(常量).

像这样:

import const
const.MASTER_CLIENT_CONNECTED 
Run Code Online (Sandbox Code Playgroud)

要么

import const
if(i==MASTER_CLIENT_CONNECTED):
Run Code Online (Sandbox Code Playgroud)

python constants

9
推荐指数
2
解决办法
3万
查看次数

Magento - 修改购物车和结帐(订单查看)屏幕的标签

在Magento默认主题的购物车页面中,我们会在屏幕右侧看到以下总计框: 替代文字

我想修改上面框中5个字段的标签,我可以通过覆盖以下设计文件来更改Grand Totals:

/html/app/design/frontend/default/mine/template/tax/checkout/grandtotal.phtml
Run Code Online (Sandbox Code Playgroud)

所以,现在它看起来像这样:

替代文字

我的问题是:

更改框中其他3个字段的标签,以及折扣适用时出现的折扣框的标签.我花了一些时间来浏览其他设计文件,但找不到任何.它可能是一些要覆盖的类,但我也无法找到它们.

我正在使用Magento 1.4.1.1

更新1:打开模板路径提示后,以下是Cart的模板路径

小计:app/design/frontend // tax/checkout/subtotal.phtml

总计:app/design/frontend // checkout/total/default.phtml

GrandTotal:app/design/frontend // tax/checkout/grandtotal.phtml

税:app/design/frontend // tax/checkout/tax.phtml

查看

与购物车和以下附加的购物车相同

运费:app/design/frontend // tax/checkout/shipping.phtml

但是当进入这些模板文件时,除了grandtotal.phtml之外,没有找到任何标签.

我找到了问题的解决方案,我在自己的答案中提到过.

这个问题最初要求帮助解决两个不同的问题.我后来发布另一个问题作为另一个问题.

magento e-commerce

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

ExtJS 4>网格编辑器>带有"datefield"xtype的编辑器未正确填充

当我双击一个记录进行编辑时,它不会填充日期选择器(即日期选择器显示空白,即使记录具有该值).

在此输入图像描述

我搜索了很多,但没有得到任何修复.

任何人有任何想法......?

javascript extjs extjs4

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

无法从Hijri Date转换为Gregorian date(c#)

现在我正在使用Hijri日期并尝试使用以下代码将它们转换为格里高利日期:

            string HijriDate;
            string[] allFormats ={"yyyy/MM/dd","yyyy/M/d",
                "dd/MM/yyyy","d/M/yyyy",
                "dd/M/yyyy","d/MM/yyyy","yyyy-MM-dd",
                "yyyy-M-d","dd-MM-yyyy","d-M-yyyy",
                "dd-M-yyyy","d-MM-yyyy","yyyy MM dd",
                "yyyy M d","dd MM yyyy","d M yyyy",
                "dd M yyyy","d MM yyyy","MM/dd/yyyy"};
            CultureInfo enCul = new CultureInfo("en-US");
            CultureInfo arCul = new CultureInfo("ar-SA");
            arCul.DateTimeFormat.Calendar = new System.Globalization.HijriCalendar(); 
            DateTime tempDate = DateTime.ParseExact(HijriDate, allFormats, arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);
            return tempDate.ToString("MM/dd/yyyy");
Run Code Online (Sandbox Code Playgroud)

此代码适用于所有日期,除了月份第30天的日期,如下所示:

'30/10/1433','30/12/1432'或'30/05/1433'等.....所以如何处理和转换该日期及其相应的格里高利:S

c# date hijri

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

在线创建文件JSON并获取URL

从字符串JSON,我想创建一个URL来显示该字符串JSON.

你知道一个支持这个的网站!

android json

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

在Mac OSX上需要什么以及如何安装zucchini框架?

Zucchini框架似乎是iOS用户界面质量保证的有希望的候选者.

但是,其网站上提供的安装步骤假定大多数先决条件已经存在,或者已经熟悉命令行的复杂性.

我想在Mac OSX上成功安装和使用zucchini框架之前知道需要安装什么.

macos ios gui-test-framework zucchini

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

如果子查询的结果为NULL,则整个查询失败

我有一种情况,我需要从同一个表的有效数据中生成包含随机数据的行

我已经通过php rand($min, $max)函数生成了ID $min = 1$max = [SELECT MAX(ID) FROM patient] - 1

Select

tblFirstName.FirstName,
tblLastName.LastName,
tblBirthDate.BirthDate,
tblLocation.Location

From

(SELECT FirstName FROM patient WHERE ID > 11445 AND FirstName != '' LIMIT 1) AS tblFirstName,
(SELECT LastName FROM patient WHERE ID > 74964 AND LastName != '' LIMIT 1) AS tblLastName,
(SELECT BirthDate FROM patient WHERE ID > 26360 LIMIT 1) AS tblBirthDate,
(SELECT Location FROM patient WHERE ID > 68356 AND Location != '' LIMIT …
Run Code Online (Sandbox Code Playgroud)

php mysql sql select subquery

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