gpt4 book ai didi

c# - 基本 LinqToSql 问题 : Why won't this compile?

转载 作者:太空狗 更新时间:2023-10-29 23:54:55 25 4
gpt4 key购买 nike

我最近通过工作中的一个糟糕的项目向自己介绍了 LinqToSQL。我很好奇为什么会这样:

var territories = db.Territories.Where(t => t.PendingUserCount > 0);

但这会导致编译错误:

var territories = db.Territories;
if (someCondition)
territories = territories.Where(t => t.PendingUserCount > 0);
// Cannot implicitly convert 'System.Linq.IQueryable<Territory> to System.Data.Linq.Table<Territory>

我也试过调用 db.Territories.ToList(),但没有成功。

我敢肯定这只是对 Linq 工作原理的误解,但如果有人能帮助我,我将不胜感激。

最佳答案

db.Territories 返回一个表对象。因此,“var”将是 System.Data.Linq.Table 类型。稍后您尝试(基于某些条件)将 System.Linq.IQueryable 类型的内容分配给变量。由于 .NET 是强类型的,编译器会抛出错误。

var 类型的变量在第一次被赋值时会被赋予一个类型。这就是我努力记住自己的方式。

关于c# - 基本 LinqToSql 问题 : Why won't this compile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com