ERR:The required column ‘Bomld‘ was not present in the results of a ‘FromSql‘ operation.

The required column ‘Bomld’ was not present in the results of a ‘FromSql’ operation.

结合SQL 语句来看,错误非常明确:你的模型类中包含一个名为 BomId(或误拼为 Bomld)的属性,而你执行的 FromSqlRaw 查询 并没有返回这个字段,所以 EF Core 报错。

你的问题出在两处可能:
✅ 1. 模型类中包含了 BomId 字段,但 SQL 中没有返回该列
你执行的 SQL 是:

SELECT [MES_Bom_Detail].[DomDetailId], [Sequence], [MaterialCode], ...
FROM [MES_Bom_Detail]
JOIN [MES_Bom_DetailLink] ON [MES_Bom_Detail].[DomDetailId] = [MES_Bom_DetailLink].[DomDetailId]
WHERE [MES_Bom_DetailLink].[BomId] = '...'

你 在 WHERE 条件中用了 BomId,但并没有在 SELECT 中包含它。

⚠️ EF 模型类中有 public Guid BomId { get; set; },那你必须要把它 选出来!

✅ 解决方法:修改 SQL,显式包含 BomId 字段

SELECT 
    [MES_Bom_Detail].[DomDetailId],
    [Sequence],
    [MaterialCode],
    [MaterialName],
    [Spec],
    [UsageQty],
    [ConsumeModel],
    [Warehouse],
    [SupplierCode],
    [KitScale],
    [Enable],
    [CreateID],
    [Creator],
    [CreateDate],
    [ModifyID],
    [Modifier],
    [ModifyDate],
    [MES_Bom_DetailLink].[BomId]   --  加上这行!
FROM 
    [MES_Bom_Detail]
JOIN 
    [MES_Bom_DetailLink] ON [MES_Bom_Detail].[DomDetailId] = [MES_Bom_DetailLink].[DomDetailId]
WHERE 
    [MES_Bom_DetailLink].[BomId] = 'd57095e6-ef91-4f00-87cb-82e2dbb633d6'

确保 BomId 作为查询结果列出现。

你可能感兴趣的:(错误笔记,数据库)