我正在尝试从用户类var REGEX = /<replace src="(.+)" \/>/;
function replace(file){
match = file.match(REGEX);
var placeholder = match[0];
if (placeholder) {
return file.replace(placeholder, match[1].toUpperCase());
// toUpperCase is just an example and instead should lookup a file for contents
}
}
检索数据,以验证令牌密码更改。
Wehn我尝试运行此查询以从数据库中获取必要的信息:
webpages_membership
我得到了这个例外
无法创建“DBContext.Models.Customers”类型的常量值。在此上下文中仅支持原始类型或枚举类型。
我该如何避免这种例外?
答案 0 :(得分:1)
使用此选项可确保LINQ表达式仅具有常量值。还要使用==
而不是.Equals
(我不确定LINQ是否可以正确处理.Equals
。也许这是可能的,但我确信==
有效细)。
var now = DateTime.Now;
ttf.webpages_Membership
.Any(x => x.UserId == userid &&
x.PasswordVerificationToken == rt &&
x.PasswordVerificationTokenExpirationDate < now);
LINQ检查lambda谓词的表达式树,并可以将常量值传递给服务器。我认为它不会将DateTime.Now
视为常量,除非您在变量中捕获它,如图所示。