我有这个函数从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) 现在我正在使用闭包在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) 我正在尝试使用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.
我在这里有这段代码.目的是制作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) 当通过setSelected(true)选择QGraphicsItem时,是否可以定义选择框的样式?
搜索下方的代码段允许用户将字符串与表中的三个字段进行匹配.如果任何字段匹配,则条目包含在结果中.但是,使用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应用程序.
在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¶ms=asd
是否有内置方法将对象的属性转换为查询字符串格式?
有时,我正在编码的某些服务需要另一个服务已实现的功能。例如,在编写一个服务,在单次交易后返回某个ID的用户购买的产品,我需要用户购买产品后的帐户余额,因此我调用另一个服务来获取数据。
我可以看到一些替代方案:
这样做很好,因为您正在重用代码。
服务应该访问自己的存储库以检索其操作的数据
服务应该相互隔离,并且只属于一个域。在我的例子中,我应该有另一个层,可能是一个 ViewFactory,来调用服务来获取相关数据
在这个问题上普遍接受的规范是什么?
我指的是一般的MVC设计模式(如维基百科中所定义).在进行GUI密集型应用程序时,我通常会有很多控制器,有时控制器可以将事件发送到另一个控制器.
MVC一般是否定义控制器应如何与控制器通信?控制器可以成为层次结构中更高层的控制器的模型吗?
示例 假设我有一个窗口(由控制器/模型/视图表示),该窗口能够启动另一个子窗口.子窗口是模态的,并且将接受某些输入.输入将影响主窗口中的某些进程.
是否可以在JS中将函数的名称存储为字符串,并从对象中调用它,就像下面的PHP代码一样?
$this->$someFunc();
Run Code Online (Sandbox Code Playgroud)