首先调用 Entity framework 数据库中的存储过程 - 结果 class 中的列生成问题
calling stored procedure in Entity framework database first - Column generation issue in result class
我的存储过程根据条件(如下所示)从 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 列。
像下面这样修改你是SP:
CREATE PROCEDURE [dbo].[GetPersons]
(
@id INTEGER
)
AS
BEGIN
if @id=2
select ID,FirstName='', LastName from dbo.Person
else
select ID,FirstName, LastName='' from dbo.Person;
END
现在再次更新您的 EDMX,您将获得该列。
为什么您选择了一个基于输入参数的 属性 并且仍然想用这两个属性为您的对象建模?为什么不制定一个标准程序来 return 这两个属性,然后在您的应用程序中使用所需的 属性 如果不是这两个属性?
CREATE PROCEDURE [dbo].[GetPersons]
(
@id INTEGER
)
AS
BEGIN
select ID,FirstName, LastName from dbo.Person where id = @id
END
我的存储过程根据条件(如下所示)从 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 列。
像下面这样修改你是SP:
CREATE PROCEDURE [dbo].[GetPersons]
(
@id INTEGER
)
AS
BEGIN
if @id=2
select ID,FirstName='', LastName from dbo.Person
else
select ID,FirstName, LastName='' from dbo.Person;
END
现在再次更新您的 EDMX,您将获得该列。
为什么您选择了一个基于输入参数的 属性 并且仍然想用这两个属性为您的对象建模?为什么不制定一个标准程序来 return 这两个属性,然后在您的应用程序中使用所需的 属性 如果不是这两个属性?
CREATE PROCEDURE [dbo].[GetPersons]
(
@id INTEGER
)
AS
BEGIN
select ID,FirstName, LastName from dbo.Person where id = @id
END