Linq to sql MVC3-向模型中添加存储过程

Linq to sql MVC3-向模型中添加存储过程,linq-to-sql,asp.net-mvc-3,model,controller,Linq To Sql,Asp.net Mvc 3,Model,Controller,我创建存储过程: CREATE PROCEDURE dbo.GetCampaigns @UserID varchar(15) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SELECT CampaignId, CampaignName, Expir

我创建存储过程:

CREATE PROCEDURE  dbo.GetCampaigns  
    @UserID varchar(15) 
AS

BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    SELECT CampaignId, CampaignName,  Expiry, LaunchDate FROM feeds.dbo.Campaigns  WHERE userid=@UserID;

END
返回中的活动ID是唯一的键

我将其拖放到serverExplorer中。我构建了它,它创建了模型。我右键单击控制器以创建控制器、数据上下文等。它会弹出一个框,其中包含以下消息:

Unable to retrieve metadaat for xxx.Models.CampaignResult. One or more validation errors were detected during model generation: -System Data.Edm.EdmEntitytype: Entity Type getCampaingsResult has no key defined. Define a key for this entity type -System.Data.Edm.EdmEntitySet: EntityType: EntitySet GetCampaignResults is based on type GetCampaignResult that has no keys defined. 无法检索xxx.Models.CampaignResult的metadaat。在模型生成过程中检测到一个或多个验证错误: -System Data.Edm.EdmEntitytype:实体类型getCampaingsResult未定义键。定义此实体类型的键 -System.Data.Edm.EdmEntitySet:EntityType:EntitySet GetActivationResults基于未定义键的GetActivationResult类型。
我很困惑。提前谢谢。感谢您的帮助。

使用EF执行存储过程有点奇怪-请查看以下链接: