WebAPI2/Angular оценка навыков на собеседовании [ПОДЕЛИТЬСЯ] — значения NULLC#

Место общения программистов C#
Ответить
Anonymous
 WebAPI2/Angular оценка навыков на собеседовании [ПОДЕЛИТЬСЯ] — значения NULL

Сообщение Anonymous »

Несколько месяцев назад на одной из вакансий требовалась оценка задач перед собеседованием. На самом деле я новичок в .NET, поэтому я его сдал и решил подать заявку на другую работу, которая не требовала бы .net так сильно. Короче говоря. С тех пор меня преследует идея решения этой проблемы, и меня беспокоит то, что я смог очень близко подойти к решению, но так и не завершил его.

Итак, если кто-то хочет попрактиковаться в своих навыках .net /webapi2/ angular, вот он:
скриншот

Я получаю странную ошибку (значения NULL), когда почти заканчиваю эту задачу

Мой 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, я изменил код Angular на следующий:
my 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

Код: Выделить всё

Samples



Samples Id 
Code Number
Date 
User Id 
Status Id 


{{Sample.SampleId}} 
{{Sample.CodeNumber}} 
{{Sample.Date.replace('/Date(','').replace(')/','') | date:"MM/dd/yyyy"}} 
{{Sample.UserId}}
{{Sample.StatusId}}



Все остальное по умолчанию взято из шаблона WeBAPI2 из Visual Studio.
поэтому мои модели генерируются Entity Framework:

Когда я создаю, я получаю:

Код: Выделить всё

Samples Id  CodeNumber  Date    UserId  StatusId

data           data     data      1         6

data           data     data      2         4
Моя цель — изменить эти идентификаторы на фактические данные таблиц, они являются значениями внешнего ключа.

Я не получаю значений в этом столбце, и когда я вызываю 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},"
что странно, поскольку Status и user имеют значения null

Кто-то предположил, что это «объединение» должно выполняться внутри представления самой базы данных, а затем вызываться с помощью angular. например представление SQL или использование LINQ. К сожалению, я не знаю LINQ, но знаю SQL. Думаю, я смогу создать представление со всеми таблицами. Поэтому вопрос такой. Как я могу заменить эти значения идентификаторов фактическими данными, связанными с этими внешними ключами (userid, statusid)?

Вот снимок экрана с массовыми данными:

массовые данные

Подробнее здесь: https://stackoverflow.com/questions/380 ... ull-values
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»