【发布时间】:2015-12-13 02:42:36
【问题描述】:
项目背景: 数据库和站点托管在 Azure 上,在 VS 2015 中开发。
我正在尝试在我的一个表中显示所有条目的所有行,而我得到的输出与我的预期不同。我不确定这是因为我的编码还是因为表的创建方式或由于我没有想到的其他原因,因此感谢您的帮助。
这是我从 DB 中提取它的代码(在名为 EmployeesRepository 的文件中):
public static List<Employee> GetAllEmployees()
{
return dataContext.Employees.ToList();
}
这是我将数据发送到控制器的代码(在名为 EmployeesController 的文件中):
[Route("api/employees")]
public HttpResponseMessage Get()
{
var employees = EmployeesRepository.GetAllEmployees();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, employees);
return response;
}
这是写出来的角度代码(在我的 employees.html 文件中):
<table class="table table-striped table-hover" style="width:100%">
<thead>
<tr class="info">
<th ng-click="doSort('username')">Username</th>
<th ng-click="doSort('firstName')">First Name</th>
<th ng-click="doSort('lastName')">Last Name</th>
<th ng-click="doSort('ext')">Extension</th>
<th ng-click="doSort('location')">Location</th>
<th ng-click="doSort('jobtitle')">Job Title</th>
<th> </th>
</tr>
</thead>
<tbody>
<tr ng-repeat="Employee in Employees | filter:textFilter | orderBy:sortBy:reverse">
<td>{{ Employee.username }}</td>
<td>{{ Employee.firstName }}</td>
<td>{{ Employee.lastName }}</td>
<td>{{ Employee.ext }}</td>
<td>{{ Employee.location }}</td>
<td>{{ Employee.jobtitle }}</td>
</tr>
</tbody>
</table>
它似乎在做的是提取所有外键并为其余数据创建引用,而 angular 不知道如何输出引用。我将提供我从 POSTman 获取的 JSON 输出,以便您查看它在做什么。角度正确识别了我表中的 6 个对象,并为数据分配了 6 行,但只显示第一条记录,其余的只是空格。关于它为什么这样做的任何建议?
[
{
"$id": "1",
"location1": {
"$id": "2",
"employees": [
{
"$ref": "1"
},
{
"$id": "3",
"location1": {
"$ref": "2"
},
"equipments": [
{
"$id": "4",
"employee": {
"$ref": "3"
},
"tickets": [
{
"$id": "5",
"employee": {
"$ref": "3"
},
"employee1": {
"$id": "6",
"location1": {
"$id": "7",
"employees": [
{
"$ref": "6"
}
],
"id": 1,
"locName": "Prime BR Clinic",
"addrss": "1481 Airline Hwy",
"phoneNum": "225-778-0000"
},
"equipments": [],
"tickets": [],
"tickets1": [
{
"$ref": "5"
},
{
"$id": "8",
"employee": {
"$ref": "3"
},
"employee1": {
"$ref": "6"
},
"equipment": {
"$id": "9",
"employee": {
"$ref": "1"
},
"tickets": [
{
"$ref": "8"
}
],
"barcode": "PTR-000000001",
"condition": "InUse",
"assignedTo": "ebeyj",
"notes": "Runs very slow.",
"configDate": "1905-07-03T00:00:00"
},
"id": 3,
"title": "Fake Ticket",
"customer": "landrya",
"barcode": "PTR-000000001",
"assignedTo": "hofmannr",
"category": "Installation",
"importance": "low",
"openDate": "1905-06-05T00:00:00",
"dueDate": "1905-06-05T00:00:00",
"closedDate": "1905-06-05T00:00:00",
"comments": " ",
"condition": "Closed",
"workHours": 99
}
],
"username": "landrya",
"email": "landrya@*****.com",
"lastName": "Landry",
"firstName": "Ashley",
"ext": 4300,
"location": 1,
"jobtitle": "HR Rep"
},
"equipment": {
"$ref": "4"
},
"id": 0,
"title": "Fake Ticket",
"customer": "landrya",
"barcode": "COM-000000001",
"assignedTo": "hofmannr",
"category": "TroubleShoot",
"importance": "low",
"openDate": "1905-06-05T00:00:00",
"dueDate": "1905-06-05T00:00:00",
"closedDate": "1905-06-05T00:00:00",
"comments": "VPNs are a piece of SSH IT",
"condition": "Closed",
"workHours": 99
}
],
"barcode": "COM-000000001",
"condition": "InUse",
"assignedTo": "hofmannr",
"notes": null,
"configDate": "1905-06-20T00:00:00"
}
],
"tickets": [
{
"$ref": "5"
},
{
"$ref": "8"
}
],
"tickets1": [],
"username": "hofmannr",
"email": "hofmannr@******.com",
"lastName": "Hofmann",
"firstName": "Ritchie",
"ext": 5002,
"location": 0,
"jobtitle": "IT GURU"
},
{
"$id": "10",
"location1": {
"$ref": "2"
},
"equipments": [
{
"$id": "11",
"employee": {
"$ref": "10"
},
"tickets": [
{
"$id": "12",
"employee": {
"$ref": "1"
},
"employee1": {
"$ref": "10"
},
"equipment": {
"$ref": "11"
},
"id": 2,
"title": "Imaginary Ticket",
"customer": "mcmorrisv",
"barcode": "MON-000000001",
"assignedTo": "ebeyj",
"category": "TroubleShoot",
"importance": "mid",
"openDate": "1905-06-20T00:00:00",
"dueDate": "1905-06-15T00:00:00",
"closedDate": null,
"comments": null,
"condition": "Open",
"workHours": 0
}
],
"barcode": "MON-000000001",
"condition": "Terminated",
"assignedTo": "mcmorrisv",
"notes": null,
"configDate": "1905-06-17T00:00:00"
}
],
"tickets": [],
"tickets1": [
{
"$ref": "12"
}
],
"username": "mcmorrisv",
"email": "mcmorrisv@******.com",
"lastName": "McMorris",
"firstName": "Vivian",
"ext": 4200,
"location": 0,
"jobtitle": "I am sure she does something around here."
},
{
"$id": "13",
"location1": {
"$ref": "2"
},
"equipments": [],
"tickets": [],
"tickets1": [
{
"$id": "14",
"employee": {
"$id": "15",
"location1": {
"$ref": "2"
},
"equipments": [],
"tickets": [
{
"$ref": "14"
}
],
"tickets1": [],
"username": "xier",
"email": "xier@******.com",
"lastName": "Xie",
"firstName": "Richard",
"ext": 5000,
"location": 0,
"jobtitle": "IT Paladin"
},
"employee1": {
"$ref": "13"
},
"equipment": {
"$id": "16",
"employee": null,
"tickets": [
{
"$ref": "14"
}
],
"barcode": "COM-000000002",
"condition": "StandBy",
"assignedTo": null,
"notes": null,
"configDate": "1905-07-07T00:00:00"
},
"id": 1,
"title": "Pseudo-Ticket",
"customer": "pans",
"barcode": "COM-000000002",
"assignedTo": "xier",
"category": "Special Request",
"importance": "high",
"openDate": "1926-11-02T00:00:00",
"dueDate": "1926-11-02T00:00:00",
"closedDate": null,
"comments": "Developer accused of undocumented code refuses to cmnt",
"condition": "Open",
"workHours": -1
}
],
"username": "pans",
"email": "pans@******.com",
"lastName": "Pan",
"firstName": "Sharon",
"ext": 4100,
"location": 0,
"jobtitle": "Accounts Payable Manager"
},
{
"$ref": "15"
}
],
"id": 0,
"locName": "Prime Corp",
"addrss": "1481 Airline Hwy",
"phoneNum": "225-408-0000"
},
"equipments": [
{
"$ref": "9"
}
],
"tickets": [
{
"$ref": "12"
}
],
"tickets1": [],
"username": "ebeyj",
"email": "ebeyj@******.com",
"lastName": "Ebey",
"firstName": "Joseph",
"ext": 5001,
"location": 0,
"jobtitle": "IT Jedi"
},
{
"$ref": "3"
},
{
"$ref": "6"
},
{
"$ref": "10"
},
{
"$ref": "13"
},
{
"$ref": "15"
}
]
【问题讨论】:
标签: sql json linq azure azure-sql-database