在VS2010测试版中运行代码分析(以前版本的FxCop)后,我收到以下警告:
在外部可见方法'Identity.Identity(WindowsIdentity)'中,在使用之前验证参数'windowsIdentity'.
构造函数是:
public Identity(WindowsIdentity windowsIdentity)
: base(windowsIdentity.Token)
{
init();
}
Run Code Online (Sandbox Code Playgroud)
对于定义为的类:
public class Identity : WindowsIdentity
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何验证windowsIdentity参数?我应该在构造函数中验证它,并抛出异常,还是有更好的方法来调用它?
想象一下两张桌子:Shifts,RANK_S_DAY.移位包含一个ShiftDate列,DateTimeRANK_S_DAY有一DayOfWeek列.我需要加入(int)ShiftDate.DayOfWeek equals DayOfWeek.我理解为什么它不起作用,但我不确定如何改变它.例外情况是:
LINQ to Entities不支持指定的类型成员'DayOfWeek'.仅支持初始值设定项,实体成员和实体导航属性.
据我了解,LINQ无法转化(int)ShiftDate.DayOfWeek为SQL理解的东西,任何想法?
这是代码:
Shifts = from s in en.Shifts
join j in en.RANK_S_JOB on s.kronos_JobPositions.JobID equals j.JOBNO
join d in en.RANK_S_DAY on (int)s.ShiftDate.DayOFWeek equals d.DAY_OF_WEEK
orderby
d.RANK,
j.RANK ascending
select s;
Run Code Online (Sandbox Code Playgroud) base ×1
c# ×1
class ×1
dayofweek ×1
entities ×1
join ×1
linq ×1
parameters ×1
sql ×1
validation ×1