gpt4 book ai didi

c# - LinqToSql - 不允许在查询中显式构造实体类型 '{0}'

转载 作者:行者123 更新时间:2023-11-30 17:33:29 25 4
gpt4 key购买 nike

我在两个简单的 webapi 方法上遇到了一个非常奇怪的问题:

我有很多用于从数据库中检索主数据的方法。他们都是相似的,他们都读取具有相同结构的表。

我真的不知道为什么这个方法有效:

这行得通

[HttpGet]
//[Authorize]
[Route("offertsource/get")]
public IHttpActionResult api_MasterData_OffertSource_GET()
{
var res = new List<mdOffertSource>();
try
{
res = (from c in db.mdOffertSources.OrderBy(x => x.OffertSource)
select new mdOffertSource() { idOffertSource = c.idOffertSource, Code = c.Code, OffertSource = c.OffertSource }).ToList();

return Ok(res);
}
catch (Exception e)
{
return BadRequest(e.Message);
}
}

这行不通:

不是工作代码

[HttpGet]
//[Authorize]
[Route("offertstatus/get")]
public IHttpActionResult api_MasterData_OffertStatus_GET()
{
var res = new List<mdOffertStatus>();
try
{
res = (from c in db.mdOffertStatus.OrderBy(x => x.intOrder).ThenBy(x => x.OffertStatus)
select new mdOffertStatus() { idOffertStatus = c.idOffertStatus, Code = c.Code, OffertStatus = c.OffertStatus }).ToList();

return Ok(res);
}
catch (Exception e)
{
return BadRequest(e.Message);
}
}

我有很多方法类似于第一个有效,只有下面的第二个无效。

如果我测试它,我会得到这个错误:

不允许在查询中显式构造实体类型“XionDB.mdOffertStatus”。

我已经尝试从 dbml 文件中删除表 mdOffertStatus 并再次添加它,但我遇到了同样的问题......

这很奇怪。

感谢支持

最佳答案

您的 OfferSources 表不是空的,是吗?这将导致不调用 Select 并避免在第二个方法中抛出的错误。

(会留下评论但没有足够的分数。)

关于c# - LinqToSql - 不允许在查询中显式构造实体类型 '{0}',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43784093/

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