WebAPI2 / Angular工作面试技能评估[SHARE] - NULL值

时间:2016-06-25 18:24:37

标签: c# .net angularjs linq-to-entities angular-services

几个月前,有一个职位需要进行面试前任务评估。我实际上是.NET的新手,所以我通过并决定申请另一份并不需要.net的工作。长话短说。从那以后,解决这个问题的想法让我感到困扰,让我感到困扰的是,我能够真正接近解决方案并且没有真正完成它。

所以,如果有人想在这里练习他们的.net / webapi2 / angular技能,那就是: screenshot

当我几乎完成这项任务时,我得到了一个奇怪的错误(NULL值)

My Homecontroller.cs

namespace KLab.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Title = "Home Page";

            return View();
        }
        public JsonResult GetSections()
        {
            var db = new KLabDBEntities();
            var samples = db.Samples.Include("User").Include("Status").ToList();
            return Json(samples, JsonRequestBehavior.AllowGet);
        }
    }
}

由于这是WEb API,我已将角度代码更改为以下内容: 我的App.js

var myApp = angular.module('myApp', []);
myApp.controller('maincontroller', function ($scope, SampleService) {

getSamples();

function getSamples() {
    SampleService.getSamples()
        .success(function (Samples) {
            $scope.Samples = Samples;
        });    
}
});

我的service.js

myApp.factory('SampleService', ['$http', function ($http) {

var urlBase = 'http://localhost:35656/api';
var SampleService = {};
SampleService.getSamples = function () {
    return $http.get(urlBase + '/Samples');
};

return SampleService;

}]);

我的index.cshtml

<h2>Samples</h2>

<div ng-controller="maincontroller">
<table class="table">
<tr>
    <th>Samples Id </th>
    <th>Code Number</th>
    <th>Date </th>
    <th>User Id </th>
    <th>Status Id </th>
</tr>
<tr ng-repeat="Sample in Samples">
    <td>{{Sample.SampleId}} </td>
    <td>{{Sample.CodeNumber}} </td>
    <td>{{Sample.Date.replace('/Date(','').replace(')/','') | date:"MM/dd/yyyy"}} </td>
    <td>{{Sample.UserId}}</td>
    <td>{{Sample.StatusId}}</td>
</tr>
</table>
</div>

其他所有内容都是Visual Studio中的WeBAPI2模板的默认设置。 所以我的模型是由实体框架生成的:

当我建立时,我得到:

Samples Id  CodeNumber  Date    UserId  StatusId

data           data     data      1         6 

data           data     data      2         4 

我的目标是将这些ID号更改为表的实际数据,它们是外键值

我在该列中没有得到任何值,当我调用JSON时,我得到了:

[{"SampleId":1,"CodeNumber":129076,"Date":"2015-01-02T00:00:00","UserId":6,"StatusId":3,"Status":null,"User":null},
{"SampleId":2,"CodeNumber":850314,"Date":"2015-06-15T00:00:00","UserId":7,"StatusId":3,"Status":null,"User":null},
{"SampleId":3,"CodeNumber":176033,"Date":"2015-07-31T00:00:00","UserId":7,"StatusId":0,"Status":null,"User":null},
{"SampleId":4,"CodeNumber":129629,"Date":"2015-01-21T00:00:00","UserId":3,"StatusId":0,"Status":null,"User":null},"

这是奇怪的,状态和用户是 null

有人建议这个&#34;加入&#34;必须在数据库本身的视图中完成,然后应该使用angular调用。像SQL视图或使用LINQ。不幸的是,我不知道LINQ,但我知道SQL我想我可以创建一个包含所有表的视图。因此问题是。如何将这些ID值替换为与这些外键相关的实际数据(userid,statusid)?

以下是批量数据的屏幕截图:

bulk data

0 个答案:

没有答案