我在一个存储过程中查询,该存储过程使用一些动态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) 我使用.NET 3.5 SP1,VS 2008与实体框架.我最初在我的模型中添加了一个存储过程,它带有2个参数.后来,我改变了sproc只需要1个参数.我运行了Update Model From Database菜单选项并确认我的sproc已列在Refresh选项卡中.完成向导,清理并重建解决方案,模型从未改变过sproc的签名.
为什么不更新?数据库功能的更新模型是否已损坏?我错过了什么吗?谢谢.