如何使用entityframeworkextra将表值分配给存储过程参数

时间:2017-04-15 10:22:52

标签: angularjs entity-framework model-view-controller

我使用angular将html表值发送到mvc控制器动作方法。这是我的角度代码。

      var feedbackdata = {

        SpeakerRatings: $scope.SpeakerTable  // This scope contains two rows of table data
    };

    FeedBackFormfac.InsertFeedback(feedbackdata).then(function (data) {
        alert(data.data)
    })

  fac.InsertFeedback = function (d) {

    return $http({
        url: '/Feedback/Insert',
        method: 'POST',
        data: JSON.stringify(d),
        headers: {'content-type': 'application/json'}
    });
};

我在我的控制器动作方法中接收这个json数据。我试图使用entityframeworkextra将这些数据插入我的数据库。但我无法将表值绑定到参数SpeakerRatings。

  public JsonResult Insert(FeedBackFormVM F)
    {
          var procedure = new InsertFeedbackSP()
            {
               SpeakerRatings = new List<SpeakerRatingsUDT>
               {
                   new SpeakerRatingsUDT()

               }
            }

    }

在上面的代码中,我试图将来自angular的数据(对象F包含Html表值)绑定到Userdefined表类型类,该类是使用entityframeworkextra创建的,我的userdefined表类将是这样的

 [UserDefinedTableType("SpeakerRatingsType")]
public class SpeakerRatingsUDT
{
    [UserDefinedTableTypeColumn(1)]
    public int SpeakerId { get; set; }
    [UserDefinedTableTypeColumn(2)]
    public string SpeakerName { get; set; }
    [UserDefinedTableTypeColumn(3)]
    public int Rating { get; set; } 
} 

1 个答案:

答案 0 :(得分:0)

我将Html表值接收到List中,类型为UserdefinedType类

   public JsonResult Insert(FeedBackFormVM F)
    {
          List<SpeakerRatingsVM> newdata = F.SpeakerRatings;
          var procedure = new InsertFeedbackSP()
            {
               SpeakerRatings = newdata.Select(x => new SpeakerRatingsUDT { 
      SpeakerId=x.SpeakerId,SpeakerName=x.SpeakerName,Rating=x.Rating}).ToList()

            }

    }