小编Ext*_*kun的帖子

将where/order by子句添加到IQueryable

我有这个函数从DB查询一组记录:

public IQueryable<PointTransactionViewModel> GetPointTransactions(int UserID)
        {
            return
                (
                    from PointTransaction p in entities.PointTransaction
                    join ActivityLog a in entities.ActivityLog
                    on p.TransactionID equals a.TransactionID
                    where p.UserID == UserID
                    select new PointTransactionViewModel
                    {
                        ID = p.TransactionID,
                        Balance = p.Balance,
                        Points = p.Amount,
                        RelatedActivityID = a.ID,
                        When = p.When,
                        Sender = p.SenderUserInfo.CompleteName
                    }
                );
        }
Run Code Online (Sandbox Code Playgroud)

我希望增加一个额外的原因,像这样

var entries = GetPointTransaction(1);
return entries.OrderbyDescending.Where( x => x.When >= start && w.When <= end).
               ( x => x.When);
Run Code Online (Sandbox Code Playgroud)

但是,我似乎需要从现有的查询创建一个新查询才能使用.但是,在以前的代码片段中,我似乎没有创建新查询,这似乎是这项工作:

 public PaginatedList(IQueryable<T> source, int pageIndex, int pageSize)
        { …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

在对OOP使用闭包方法时如何实现受保护的成员?

现在我正在使用闭包在Lua中实现OOP.下面是一个简略的例子.尝试在stronger_heal里面实现我的问题infested_mariner.

--------------------
-- 'mariner module':
--------------------
mariner = {}

-- Global private variables:
local idcounter = 0
local defaultmaxhp = 200
local defaultshield = 10  

function mariner.new ()
   local self = {}

   -- Private variables:  
   local hp = maxhp        

   -- Public methods:

   function self.sethp (newhp)
      hp = math.min (maxhp, newhp)
   end
   function self.gethp ()
      return hp
   end
   function self.setarmorclass (value)
      armorclass = value
      updatearmor ()
   end


   return self
end

-----------------------------
-- 'infested_mariner' …
Run Code Online (Sandbox Code Playgroud)

oop lua

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

PHP:为什么timezone_name_from_abbr的GMT偏移量不是8?

我正在尝试使用timezone_name_from_abbr()GMT + 0800的偏移量,但它没有返回预期的时区:

echo "timezone =" . timezone_name_from_abbr('', 8 * 60 * 60, 0) . '<br/>';
Run Code Online (Sandbox Code Playgroud)

根据文档,这应该工作:

如果abbr不存在,那么时区仅由gmtOffset和搜索isdst.

我做错了什么?GMT + 0800是一个有效的时区Asia/Singapore.

php

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

C++和const - 访问const引用的成员函数

我在这里有这段代码.目的是制作initialData的副本.由于我没有以任何方式修改initialData,我认为我应该将它作为const引用传递.但是,我在编译时不断收到此消息.

.\ src\Scene\SceneAnimationData.cpp(23):错误C2662:'SceneTrackerData :: getRect':无法将'this'指针从'const SceneTrackerData'转换为'SceneTrackerData&'

#include "SceneTrackerData.h"

void SceneAnimationData::SetupData(const SceneTrackerData &initialData)
{
    // getRect(), points() and links() all return const pointers
    CloneRect(initialData.getRect());
    ClonePoints(initialData.points()->values());
    CloneLinks(initialData.links()->values());
}

void SceneAnimationData::CloneRect(const QGraphicsRectItem * initialRect) 
{
    if (initialRect != NULL)
    {
        QPointF position = initialRect->scenePos();
        QRectF rect = initialRect->rect();

        initialRect = new QGraphicsRectItem(rect);
        initialRect->setPos(position);
    }
}

void SceneAnimationData::CloneLinks(const QList<QGraphicsLineItem*> links) 
{
    links_ = new QList<QGraphicsLineItem*>(*links);
}

void SceneAnimationData::ClonePoints(const QList<QGraphicsEllipseItem*> points) 
{
    points_ = new QList<QGraphicsEllipseItem*>(*points);
}
Run Code Online (Sandbox Code Playgroud)

c++ const

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

QT 4.5 - 更改QGraphicsItem的选择框

当通过setSelected(true)选择QGraphicsItem时,是否可以定义选择框的样式?

qt4

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

Linq - 动态构建LINQ查询时模拟OrWhere表达式?

搜索下方的代码段允许用户将字符串与表中的三个字段进行匹配.如果任何字段匹配,则条目包含在结果中.但是,使用Where筛选结果会导致"字符串必须匹配所有三个字段"而不是"字符串可以匹配三个字段中的任何一个".

有没有办法在动态构建LINQ查询时模拟OrWhere表达式?

var foundUsers = from UserInfo user in entities.UserInfo
                 select user;

if (searchCompleteName)
{
    foundUsers = foundUsers.Where(u => u.CompleteName.Contains(searchString));
}

if (searchPortalID)
{
     foundUsers = foundUsers.Where(u => u.PortalID.Contains(searchString));
}

if (searchUsername)
{
     foundUsers = foundUsers.Where(u => u.UserIdentity.Contains(searchString));
}
Run Code Online (Sandbox Code Playgroud)

PS.我正在使用实体框架和LINQ to Entities,我正在做一个MVC3 Web应用程序.

linq

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

将隐式类型对象转换为查询字符串

在ASP.NET MVC3中,某些函数(如HtmlHelper.ActionLink)可以接受隐式类型的对象并将其转换为查询字符串

@Html.ActionLink("Link", "Action", new { id = 1, params="asd"})
Run Code Online (Sandbox Code Playgroud)

会产生一个像url的网址 http://www.localhost.com/controller/Action?id=1&params=asd

是否有内置方法将对象的属性转换为查询字符串格式?

asp.net asp.net-4.0 asp.net-mvc-3

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

在领域驱动设计中,服务可以调用其他服务吗?

有时,我正在编码的某些服务需要另一个服务已实现的功能。例如,在编写一个服务,在单次交易后返回某个ID的用户购买的产品,我需要用户购买产品后的帐户余额,因此我调用另一个服务来获取数据。

我可以看到一些替代方案:

  1. 这样做很好,因为您正在重用代码。

  2. 服务应该访问自己的存储库以检索其操作的数据

  3. 服务应该相互隔离,并且只属于一个域。在我的例子中,我应该有另一个层,可能是一个 ViewFactory,来调用服务来获取相关数据

在这个问题上普遍接受的规范是什么?

language-agnostic domain-driven-design

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

MVC是否定义了一个控制器如何与另一个控制器通信?

我指的是一般的MVC设计模式(如维基百科中所定义).在进行GUI密集型应用程序时,我通常会有很多控制器,有时控制器可以将事件发送到另一个控制器.

MVC一般是否定义控制器应如何与控制器通信?控制器可以成为层次结构中更高层的控制器的模型吗?

示例 假设我有一个窗口(由控制器/模型/视图表示),该窗口能够启动另一个子窗口.子窗口是模态的,并且将接受某些输入.输入将影响主窗口中的某些进程.

model-view-controller design-patterns

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

JavaScript:PHP的"$ this - > $ somefunc()"相当于什么?

是否可以在JS中将函数的名称存储为字符串,并从对象中调用它,就像下面的PHP代码一样?

$this->$someFunc();
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
2
解决办法
98
查看次数