C# linq到实体框架中的问题
上面的LINQ查询转换为下面的SQL查询C# linq到实体框架中的问题,c#,mysql,linq,entity-framework,linq-to-entities,C#,Mysql,Linq,Entity Framework,Linq To Entities,上面的LINQ查询转换为下面的SQL查询 (from dtContract in dataEntity.contracts where ( dtContract.Supplier_ID == suppID && dtContract.Contract_Year != null ) orderby dtContract.Contract_Year select new {
(from dtContract in dataEntity.contracts
where
(
dtContract.Supplier_ID == suppID &&
dtContract.Contract_Year != null
)
orderby dtContract.Contract_Year
select new
{
year = (int) dtContract.Contract_Year
}).ToList();
这就是抛出异常
未知列C1
您能提供这背后的原因吗?亲爱的,这是从实体映射到表的问题。我使用的是dbfirst方法。因此模型是自动生成的。你能解释一下这里的映射有什么问题吗?你更新了你的edmx图表来刷新这个类了吗?你能提供表列和生成的类内容吗?我的模型是用最新的数据库更新的,如果我从LINQ查询中删除order by line,那么它工作正常。我以前在SqlConnector中见过类似的错误。顺便说一句,我碰巧知道这是MySql,但是在问题中添加标签是相关的。
SELECT
`Project1`.`Supplier_ID`, `Project1`.`C1`
FROM
`contracts` AS `Project1`
WHERE
(`Project1`.`Supplier_ID` = @p__linq__0)
AND (`Project1`.`Contract_Year` IS NOT NULL)
ORDER BY `Project1`.`Contract_Year` ASC;