当我获得数据Webapi,实体框架和角度时的问题 [英] Problem When I Get Data Webapi , Entity Framework And Angular

查看:103
本文介绍了当我获得数据Webapi,实体框架和角度时的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

hi
i有3个模型角色 - 控制器 - 权限



hi i have 3 models Role - Controller - Permission

public class Role
   {
       [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
       public int RoleID { get; set; }

       public string NameAR { get; set; }

       public string NameTR { get; set; }

       public string NameEN { get; set; }

       [DefaultValue(false)]
       public bool IsDelete { get; set; }

       public virtual ICollection<Permission> PermissionList { get; set; }
       public virtual ICollection<User> UserList { get; set; }

   }

public class Controller
   {
       [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
       public int ControllerID { get; set; }

       public string Name { get; set; }

       public string NameAR { get; set; }

       public string NameTR { get; set; }

       public string NameEN { get; set; }

       public string Url { get; set; }

       public string ViewUrl { get; set; }

       public string ControllerName { get; set; }

       [DefaultValue(false)]
       public bool IsDelete { get; set; }

       public virtual ICollection<Permission> PermissionList { get; set; }
   }


public class Permission
   {
       [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
       public int PermissionID { get; set; }

       public int ControllerID { get; set; }
       public int RoleID { get; set; }

       [DefaultValue(false)]
       public bool IsDelete { get; set; }

       public virtual Controller Controller { get; set; }
       public virtual Role Role { get; set; }
   }





我每个型号都有3个webApi





and i have 3 webApi for each model like this

public class RoleController : BaseApiController
  {
      RoleBLL roleBLL;
      public IEnumerable<Role> Get()
      {
          using (roleBLL = new RoleBLL())
          {
              return roleBLL.GetAll(null);
          }
      }
 }





我使用angular js获取使用webapi的数据

喜欢这个



角色服务



i'm use angular js for get data by useing webapi
like this

Role Service

(function () {
    app.factory('RoleService', ['DataRepository', RoleService])
    function RoleService(DataRepository) {
        return {
            url: '/API/Role',
            GetAll: function () {
                return DataRepository.call(this.url).query();
            },
            GetListByID: function (id) {
                return DataRepository.call(this.url).query({ id: id });
            },
            Add: function (entity) {
                return DataRepository.call(this.url).saveData(entity);
            },
            Edit: function (entity) {
                return DataRepository.call(this.url).update(entity);
            },
            Delete: function (id) {
                return DataRepository.call(this.url).delete({ id: id });
            },
            GetByID: function (id) {
                return DataRepository.call(this.url).getByID({ id: id });
            }
        }
    }
}());





角色控制器< br $> b $ b



role controller

(function () {
    app.controller('RoleController', ['$scope', 'RoleService',  SecurityController]);
    function RoleController($scope, RoleService) {
        $scope.LoadRoles = function () {
            RoleService.GetAll().$promise.then(function (response) {
                $scope.Roles = response;
            }, function () {

            });
        }
        $scope.LoadRoles();

    }
}());





此视图



this view

<div class="table-responsive">
    <table class="table  table-striped table-bordered table-hover">
        <thead>
            <tr>
                <th>Turkish Name</th>
                <th>Arabic Name</th>
                <th>English Name</th>
                <th>Permissions</th>
                <td></td>
            </tr>
        </thead>
        <tbody>
            <tr data-ng-repeat="Role in Roles" id="Role_{{Role.RoleID}}">
                <td>{{Role.NameTR}}</td>
                <td>{{Role.NameAR}}</td>
                <td>{{Role.NameEN}}</td>
                <td>
                    <span data-ng-repeat="Permission in Role.PermissionList">
                        <label>{{Permission.Controller.NameEN}}</label>  
                    </span>
                </td>
                <td class="controlIcon">
                    <li class="fa fa-edit fa-2x" data-ng-click="ShowEditRole()"></li>
                     
            <li class="fa fa-plus-circle fa-2x" data-ng-click="ShowAddRole()"></li>
                     
            <li class="fa fa-remove fa-2x" data-ng-click="ShowDeleteRole()"></li>
                </td>
            </tr>
        </tbody>
    </table>
</div>

< br $>




i有两个问题

1-数据看似不完整

like THI s

查看此图片





http://www.gulfup.com/?pqJlRW [ ^ ]



响应数据来自webapi






i have two problems
1- data does not appear complete
like this
check this image


http://www.gulfup.com/?pqJlRW[^]

response data from webapi

[{"$id":"1","PermissionList":[{"$id":"2","Controller":{"$id":"3","PermissionList":[{"$ref":"2"},{"$id":"4","Controller":{"$ref":"3"},"Role":{"$id":"5","PermissionList":[{"$ref":"4"},{"$id":"6","Controller":{"$id":"7","PermissionList":[{"$id":"8","Controller":{"$ref":"7"},"Role":{"$ref":"1"},"PermissionID":2,"ControllerID":2,"RoleID":1,"IsDelete":false},{"$ref":"6"},{"$id":"9","Controller":{"$ref":"7"},"Role":{"$id":"10","PermissionList":[{"$id":"11","Controller":{"$ref":"3"},"Role":{"$ref":"10"},"PermissionID":10,"ControllerID":1,"RoleID":3,"IsDelete":false},{"$ref":"9"},{"$id":"12","Controller":{"$id":"13","PermissionList":[{"$id":"14","Controller":{"$ref":"13"},"Role":{"$ref":"1"},"PermissionID":3,"ControllerID":3,"RoleID":1,"IsDelete":false},{"$id":"15","Controller":{"$ref":"13"},"Role":{"$ref":"5"},"PermissionID":8,"ControllerID":3,"RoleID":2,"IsDelete":false},{"$ref":"12"},{"$id":"16","Controller":{"$ref":"13"},"Role":{"$id":"17","PermissionList":[{"$id":"18","Controller":{"$ref":"3"},"Role":{"$ref":"17"},"PermissionID":23,"ControllerID":1,"RoleID":4,"IsDelete":false},{"$id":"19","Controller":{"$ref":"7"},"Role":{"$ref":"17"},"PermissionID":19,"ControllerID":2,"RoleID":4,"IsDelete":false},{"$ref":"16"},{"$id":"20","Controller":{"$id":"21","PermissionList":[{"$id":"22","Controller":{"$ref":"21"},"Role":{"$ref":"5"},"PermissionID":9,"ControllerID":6,"RoleID":2,"IsDelete":false},{"$ref":"20"}],"ControllerID":6,"Name":"myorders","NameAR":"طلباتي","NameTR":"Benim Istekleri","NameEN":"MyOrders","Url":"/myorders","ViewUrl":"Admin/Order/MyOrders","ControllerName":"MyOrderController","IsDelete":false},"Role":{"$ref":"17"},"PermissionID":20,"ControllerID":6,"RoleID":4,"IsDelete":false},{"$id":"23","Controller":{"$id":"24","PermissionList":[{"$id":"25","Controller":{"$ref":"24"},"Role":{"$ref":"10"},"PermissionID":13,"ControllerID":7,"RoleID":3,"IsDelete":false},{"$ref":"23"}],"ControllerID":7,"Name":"categories","NameAR":"الفئات","NameTR":"Kategoriler","NameEN":"Categories","Url":"/categories","ViewUrl":"Admin/Category/Categories","ControllerName":"CategoryController","IsDelete":false},"Role":{"$ref":"17"},"PermissionID":21,"ControllerID":7,"RoleID":4,"IsDelete":false}],"UserList":[],"RoleID":4,"NameAR":"sdsd","NameTR":"sd","NameEN":"sdsd","IsDelete":false},"PermissionID":22,"ControllerID":3,"RoleID":4,"IsDelete":false}],"ControllerID":3,"Name":"menu","NameAR":"القائمة","NameTR":"Menülerimiz","NameEN":"Menu","Url":"/menu","ViewUrl":"Client/Home/Menu","ControllerName":"MenuController","IsDelete":false},"Role":{"$ref":"10"},"PermissionID":12,"ControllerID":3,"RoleID":3,"IsDelete":false},{"$ref":"25"},{"$id":"26","Controller":{"$id":"27","PermissionList":[{"$ref":"26"}],"ControllerID":8,"Name":"items","NameAR":"الأصناف","NameTR":"ürün","NameEN":"Items","Url":"/items","ViewUrl":"Admin/Item/Items","ControllerName":"ItemController","IsDelete":false},"Role":{"$ref":"10"},"PermissionID":14,"ControllerID":8,"RoleID":3,"IsDelete":false},{"$id":"28","Controller":{"$id":"29","PermissionList":[{"$ref":"28"}],"ControllerID":9,"Name":"additions","NameAR":"الإضافات","NameTR":"İlaveler","NameEN":"Additions","Url":"/additions","ViewUrl":"Admin/Addition/Additions","ControllerName":"AdditionController","IsDelete":false},"Role":{"$ref":"10"},"PermissionID":15,"ControllerID":9,"RoleID":3,"IsDelete":false},{"$id":"30","Controller":{"$id":"31","PermissionList":[{"$ref":"30"}],"ControllerID":10,"Name":"orders","NameAR":"الطلبات","NameTR":"Siparişler","NameEN":"Orders","Url":"/orders","ViewUrl":"Admin/Order/Orders","ControllerName":"OrderController","IsDelete":false},"Role":{"$ref":"10"},"PermissionID":16,"ControllerID":10,"RoleID":3,"IsDelete":false},{"$id":"32","Controller":{"$id":"33","PermissionList":[{"$ref":"32"}],"ControllerID":11,"Name":"settings","NameAR":"الإعدادات","NameTR":"Ayarlar","NameEN":"Settings","Url":"/settings","ViewUrl":"Admin/Setting/Settings","ControllerName":"SettingController","IsDelete":false},"Role":{"$ref":"10"},"PermissionID":17,"ControllerID":11,"RoleID":3,"IsDelete":false},{"$id":"34","Controller":{"$id":"35","PermissionList":[{"$ref":"34"}],"ControllerID":12,"Name":"security","NameAR":"الأمن","NameTR":"Güvenlik","NameEN":"Security","Url":"/security","ViewUrl":"Admin/Security/Security","ControllerName":"SecurityController","IsDelete":false},"Role":{"$ref":"10"},"PermissionID":18,"ControllerID":12,"RoleID":3,"IsDelete":false}],"UserList":[{"$id":"36","ComplaintSuggestionList":[],"LiveSupportOnlineSessionList":[],"OrderList":[],"Role":{"$ref":"10"},"UserAddressList":[{"$id":"37","UserAddressID":1,"Address":"12 sdsd sd","UserID":1,"User":{"$ref":"36"}}],"UserBranchesList":[],"UserMobileList":[{"$id":"38","UserMobileID":1,"Mobile":"012332323","UserID":1,"User":{"$ref":"36"}}],"UserID":1,"Name":"Ahmed","Email":"dsds@sdsd.com","Password":"123","IsDelete":false,"RoleID":3,"ConfirmPassword":null,"Mobile":null,"Address":null}],"RoleID":3,"NameAR":"مدير نظام","NameTR":"Sistem Yöneticisi","NameEN":"System Administrator","IsDelete":false},"PermissionID":11,"ControllerID":2,"RoleID":3,"IsDelete":false},{"$ref":"19"}],"ControllerID":2,"Name":"photogallery","NameAR":"معرض الصور","NameTR":"Foto Galeri","NameEN":"Photo Gallery","Url":"/photogallery","ViewUrl":"Client/Home/PhotoGallery","ControllerName":"PhotoGalleryController","IsDelete":false},"Role":{"$ref":"5"},"PermissionID":7,"ControllerID":2,"RoleID":2,"IsDelete":false},{"$ref":"15"},{"$ref":"22"}],"UserList":[],"RoleID":2,"NameAR":"عميل","NameTR":"müşteri","NameEN":"Client","IsDelete":false},"PermissionID":6,"ControllerID":1,"RoleID":2,"IsDelete":false},{"$ref":"11"},{"$ref":"18"}],"ControllerID":1,"Name":"home","NameAR":"الصفحة الرئيسية","NameTR":"Anasayfa","NameEN":"Home","Url":"/home","ViewUrl":"Client/Home/Home","ControllerName":"HomeController","IsDelete":false},"Role":{"$ref":"1"},"PermissionID":1,"ControllerID":1,"RoleID":1,"IsDelete":false},{"$ref":"8"},{"$ref":"14"},{"$id":"39","Controller":{"$id":"40","PermissionList":[{"$ref":"39"}],"ControllerID":4,"Name":"login","NameAR":"تسجيل الدخول","NameTR":"Üye Girişi","NameEN":"Login","Url":"/login","ViewUrl":"Client/User/Login","ControllerName":"UserController","IsDelete":false},"Role":{"$ref":"1"},"PermissionID":4,"ControllerID":4,"RoleID":1,"IsDelete":false},{"$id":"41","Controller":{"$id":"42","PermissionList":[{"$ref":"41"}],"ControllerID":5,"Name":"register","NameAR":"انضم إلينا","NameTR":"bize katılın","NameEN":"Join Us","Url":"/register","ViewUrl":"Client/User/Register","ControllerName":"UserController","IsDelete":false},"Role":{"$ref":"1"},"PermissionID":5,"ControllerID":5,"RoleID":1,"IsDelete":false}],"UserList":[],"RoleID":1,"NameAR":"ضيف","NameTR":"konuk","NameEN":"Guest","IsDelete":false},{"$ref":"5"},{"$ref":"10"},{"$ref":"17"}]





2-PermissionList不是通过data-ng-repeat加载数据



i需要帮助解决这些问题



2-PermissionList is not load data in view by data-ng-repeat

i need help to fix those problems

推荐答案

scope',' RoleService',SecurityController]);
function RoleController(
scope', 'RoleService', SecurityController]); function RoleController(


scope,RoleService){
scope, RoleService) {


范围。 LoadRoles = function (){
RoleService.GetAll()。
scope.LoadRoles = function () { RoleService.GetAll().


这篇关于当我获得数据Webapi,实体框架和角度时的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆