相关疑难解决方法(0)

EF4 - 选定的存储过程不返回任何列

我在一个存储过程中查询,该存储过程使用一些动态SQL调用某些链接服务器.我知道EF不喜欢这样,所以我特意列出了所有要返回的列.然而,它仍然不喜欢这样.我在这做错了什么?我只是希望EF能够检测从存储过程返回的列,以便我可以创建我需要的类.

请参阅以下代码,它构成了我的存储过程的最后几行:

SELECT
    #TempMain.ID,
    #TempMain.Class_Data,
    #TempMain.Web_Store_Class1,
    #TempMain.Web_Store_Class2,
    #TempMain.Web_Store_Status,
    #TempMain.Cur_1pc_Cat51_Price,
    #TempMain.Cur_1pc_Cat52_Price,
    #TempMain.Cur_1pc_Cat61_Price,
    #TempMain.Cur_1pc_Cat62_Price,
    #TempMain.Cur_1pc_Cat63_Price,
    #TempMain.Flat_Length,
    #TempMain.Flat_Width,
    #TempMain.Item_Height,
    #TempMain.Item_Weight,
    #TempMain.Um,
    #TempMain.Lead_Time_Code,
    #TempMain.Wp_Image_Nme,
    #TempMain.Wp_Mod_Dte,
    #TempMain.Catalog_Price_Chg_Dt,
    #TempMain.Description,
    #TempMain.Supersede_Ctl,
    #TempMain.Supersede_Pn,
    TempDesc.Cust_Desc,
    TempMfgr.Mfgr_Item_Nbr,
    TempMfgr.Mfgr_Name,
    TempMfgr.Vendor_ID
FROM
    #TempMain
        LEFT JOIN TempDesc ON #TempMain.ID = TempDesc.ID
        LEFT JOIN TempMfgr ON #TempMain.ID = TempMfgr.ID
Run Code Online (Sandbox Code Playgroud)

sql-server temp-tables entity-framework-4

60
推荐指数
3
解决办法
4万
查看次数

如何获取实体框架以更新复杂类型?

我正在使用实体框架(EF)从存储过程创建复杂类型.最近,存储过程发生了变化(添加了更多的返回值.我想更新映射到此存储过程的复杂类型.这是可能的,如果是这样,怎么样?我每次都删除我的函数导入和复杂类型存储过程更改,这很可能不是最好的方法.

c# entity-framework

42
推荐指数
1
解决办法
2万
查看次数

在Entity Framework中添加存储过程复杂类型

我试图在Entity Framework中使用一个不返回任何内容的存储过程.

我做了以下事情:

  1. 添加了一个功能(右键单击存储过程 - >添加 - >功能导入 - >复杂类型 - >获取列信息 - >创建新复杂类型)

  2. 我的功能名称:summarySP_Result.构建项目后,实体类不会在Generated_code(BusinessAccount.web.g.cs)中生成

但是表和视图的实体类都是创建的,但也不是存储过程.

任何人都可以提出为什么它不是生成实体类的想法BusinessAccount.web.g.cs

更新:

让我确认ReturnDataFromTemTable_resultXXXXXX.web.g.cs班级中创建的实体课程.

喜欢 :

[DataContract(Namespace="http://schemas.datacontract.org/2004/07/BizFramework.Web.Model")]
public sealed partial class ReturnDataFromTemTable_Result : Entity
{
   -------------------
 }
Run Code Online (Sandbox Code Playgroud)

c# stored-procedures entity-framework-4 silverlight-4.0

34
推荐指数
3
解决办法
8万
查看次数

实体框架无法处理简单的表变量?

  • 存储过程的最后一行: select * from @t
  • 更新了模型,它找到了存储过程
  • 试图使用向导导入一个新功能,它说没有找到任何列.

真的吗?有人告诉我它的谎言.

create procedure WorkIt
as
set nocount on

create table #pivot
(
    Name varchar(30),
    Value decimal,
    Grade varchar(2)
)

insert into #pivot
select 'Repeating Pct', 1, 'K'
union all
select 'Repeating Pct', 2, '1'
union all
select 'Repeating Pct', 3, '2'
union all
select 'Repeating Pct', 4, '3'
union all
select 'Repeating Pct', 5, '4'
union all
select 'Repeating Pct', 6, '5'
union all
select 'Repeating Pct', 7, '6'  
union all
select 'Repeating …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-4

13
推荐指数
1
解决办法
7991
查看次数

存储过程返回错误的标量值-1,而不是返回值

我试图从存储过程返回标量值.我实际上想要返回一个新创建的记录的ID,但我已经将我的问题简化为一个存储过程,该存储过程需要int并尝试返回相同的内容int.这总是返回-1.非常感谢您的帮助.

Web API控制器调用

var idtest = dbconn.my_return_int(123);
Run Code Online (Sandbox Code Playgroud)

存储过程:

ALTER PROCEDURE [dbo].[my_return_int]  
    @ID int  
AS  
BEGIN  
    SET NOCOUNT ON;  
    DECLARE @return as int

    SET @return = -999

RETURN @return
END   
Run Code Online (Sandbox Code Playgroud)

Context生成的存储过程调用

public virtual int my_return_int(Nullable<int> iD)  
{  
    var iDParameter = iD.HasValue ?
        new ObjectParameter("ID", iD) :
        new ObjectParameter("ID", typeof(int));

    return (IObjectContextAdapter)this).ObjectContext.ExecuteFunction("my_return_int", iDParameter);  
}  
Run Code Online (Sandbox Code Playgroud)

stored-procedures entity-framework entity-framework-6

5
推荐指数
3
解决办法
6721
查看次数