【发布时间】:2019-01-17 00:59:02
【问题描述】:
我有一个隐式定义为var 的局部变量,并且正在填充通过实体框架从数据库中检索到的对象。当我将鼠标悬停在变量上时,我会得到如下图所示的详细信息。
如何在不使用 var 的情况下显式定义我的变量,例如
IQuerable<{Inpection Ins, Field F}> tempInspInner = getInspections();
代替:
var tempInspInner = getInspections();
更新
getInspections() 代码如下:
return _dbcontext.Inspection
.Join(_dbcontext.Field,
ins => ins.FieldId,
f => f.FieldId,
(ins, f) => new { Ins = ins, F = f }).Where(*hidden*);
【问题讨论】:
-
How can I explicitly define my variable without using var, for example如果是匿名类型,则不能。您需要使用var。 -
它是匿名的,因为您不能显式声明它的实例。您没有定义
class Result { public Inspection Ins {get; set;} public Field F {get; set;} }的代码。编译器可以弄清楚这一点,并可能在后台创建类型,但它是匿名的。您可以创建自己的类型,其中包含要从查询中返回的字段,然后返回 that 类型的IQueryable(即=> new Result { Ins = ins, F = f }
标签: c# entity-framework syntax variable-declaration