在我的应用程序中,用户可以委托另一个用户批准订单。
我需要验证的是,不存在循环引用,因此如果在某个时期内User A进行了委托,则不能在该时期内的任何时间进行委托,即存在重叠(日期):User BUser BUser Add/mm/yyyy
Delegator    Delegated To    DateFrom    DateTo
User A       User B          01/11/2012  08/11/2012
User A       User B          16/12/2012  24/12/2012
这是我必须检查重叠的代码:
var overlaps = .Session.QueryOver<DelegateOrderApproval>()
    .Where(x => x.DateFrom > DateTime.Now && delegateOrderApproval.DelegatedUser.UserId == x.DelegatorUser.UserId)
    .And(x => x.DateFrom >= delegateOrderApproval.DateFrom && delegateOrderApproval.DateTo <= x.DateTo
              || (x.DateFrom >= delegateOrderApproval.DateFrom && x.DateTo <= delegateOrderApproval.DateTo)
              || (x.DateFrom <= delegateOrderApproval.DateFrom && x.DateTo >= delegateOrderApproval.DateFrom)
              || (x.DateFrom <= delegateOrderApproval.DateFrom && x.DateTo >= delegateOrderApproval.DateTo))
    .List();
如果我尝试添加以下记录:
var overlaps …我有一个带有客户列表的中继器。每个客户都有一个删除链接按钮。作为链接按钮的一部分,我想将 Customer 对象传递给 Command Arguement,如下所示(其中 Container.DataItem 是客户对象):
<asp:LinkButton  ID="lnkDelete" 
   OnClientClick="return confirmDelete();"  
   OnClick="Customer_OnDelete"  
   CommandArgument="<%# Container.DataItem  %>"  
   CommandName="Delete" 
   runat="server"></asp:LinkButton>
当我这样做时:
    var button = (((LinkButton) sender));
    var customer=  button.CommandArgument;
button.CommandArgument 是一个字符串。我需要所有的对象属性,因为我们使用 Nhibernate,所以需要设置所有内容,删除记录的 ID 是不够的。我在网上看到过关于将逗号分隔的值列表传递到命令论证中的示例,但希望避免这样做。这可能吗?
有任何想法吗?谢谢
我正在使用Nhibernate 3.0并需要在网站上实现分页.基本上我们有一个ProductCategory,它有一个与之关联的产品集合.到目前为止,我有这个确实有效
var result = Session.QueryOver<TEntity>().TransformUsing(Transformers.DistinctRootEntity)
            .Where(category => category.CategoryId == criteria.CategoryId)
            .Fetch(category => category.Products).Eager
            .Take(pageSize)
            .Skip((pageIndex - 1)*pageSize)
            .Future<TEntity>();
这将返回我正在请求的类别,并根据传入的页面大小和页面索引正确分页子产品.
我现在想要做的实际上是获得产品的总行数,例如,即使我只返回5个产品,我需要知道总共有100个.
非常感谢
c# ×3
asp.net ×1
date ×1
linkbutton ×1
linq ×1
nhibernate ×1
pagination ×1
queryover ×1
repeater ×1