Entity Framework 数据库优先 - 结果 class 列生成问题

Entity Framework database first - result class column generation issue

我的存储过程根据条件(如下所示)返回 2 select 语句的结果。当我为这个存储过程生成 .edmx 文件输入和结果 class 时,在结果 class 中我只得到 ID、名称和 DateIn。结果 class 中缺少 DateOut 列。请帮助我使用 Entity Framework 数据库优先方法在 .edmx 中获取此专栏。

CREATE PROCEDURE [dbo].[GetStocks]  
    (@id INTEGER)  
AS    
BEGIN  
    IF @id = 2
       SELECT ID, name, DateIn 
       FROM dbo.StcokIn
    ELSE
       SELECT ID, name, DateOut 
       FROM dbo.StockOut;
END

我生成了 .edmx 文件,但我没有在结果中得到 DateOut 列 class:

namespace ConsoleApp6
{
    using System;

    public partial class GetStcoks_Result
    {
       public int ID { get; set; }
       public string name { get; set; }
       public string DateIn { get; set; }
    }
}

我想在 GetStcoks_Result class 中缺少 DateOut 列。

是99%,原因是'Date'的列名不同。
第一条语句产生三列:

[ID] [name] [DateIn]

第二个:

[ID] [name] [DateOut]

EF 按名称将列映射到属性,因此在第二种情况下它无法将 DateOut 列映射到 DateIn属性.
您需要为两个语句中的 Date 列指定相同的名称。例如。 DateIn AS [Date]DateOut AS [Date]。并相应地更改模型中的 属性 名称。