Ron*_*Ron 1 c# linq linq-to-entities entity-framework
这个三元线我遇到了麻烦:
var userFromContext = IsOwner ? db.Owners.Where(o => o.UserName == username)
: db.Users.Where(u => u.UserName == username);
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误信息:
无法确定条件表达式的类型,因为System.LINQ.IQueryable<Owners>和之间没有隐式转换System.LINQ.IQueryable<Users>.
如果我将它分配给var变量,为什么要关心?
Fyo*_*kin 11
因为变量必须是某种类型.
" var"并不意味着" 无类型 ".这意味着" 亲爱的编译器,请根据我指定给它的表达式弄清楚这个变量的类型应该是什么 ".
为了做到这一点,编译器必须首先理解表达式的类型,并且它不能这样做,因为三元运算符的两个分支是不同类型的.