我想使用linq创建一些预定义的json响应 . 我的桌子设计就像

Table1:    [Building]([ID] [uniqueidentifier] NOT NULL,
            [BuildingCode] [varchar](50) NULL,
            [Name] [varchar](max) NULL,
            [RoleID] [uniqueidentifier] NOT NULL,  )

第二表儿童表设计就像

Table2: [Role](
        [RoleID] [uniqueidentifier] NOT NULL,
        [Name] [varchar](max) NULL,

现在,我希望响应来自:

BuildingCode1
            {
               RoleId:16C6BEA4-421A-4718-8B85-090FC2FD8BCF
               Name:Role Name 1
            },
BuildingCode2  
            {
               RoleId:2HJ44A4-621A-A718-8B85-P90FC2FD8BCF
               Name:Role Name 2
            },
BuildingCode3  
            {
               RoleId:KJL34J8-621A-A718-8B85-3FH39DKF48
               Name:Role Name 3
            }

对于表1中的每个Building代码,从表2(角色)获取相关的Roleid详细信息 . 请帮助我如何得到这种回应 . 提前致谢

为此,我创建了2个类

public class BCode_Role
        {
            public RoleTable[] BuildingCode { get; set; }
            public byte Status { get; set; }
        }

     public class RoleTable
        { 
            public Guid RoleID { get; set; }
            public string Name { get; set; }
        }

返回json的方法是

public Bcode_Role BuldingDetail()
    {
        var result = new BuildingCode_Role();
        var dbBuildingCods = _context.Building.Select(x => x.Code);
        var dbRoles = _context.Role;
        var apiModels = dbRoles.Select(x => new RoleTable {RoleID= x.ID, Name = x.Name }).ToArray();
        result.BuildingCode = apiModels;
        return result;
    }

形成这个我得到这个Json输出

{
    "buildingCode": [
        {
            "roleID": "0f752579-57cc-4266-a4b4-4759af97525e",
            "name": "Role 2"
        },
        {
            "roleID": "1914a479-cb75-48b9-b5c3-6792acfba7b3",
            "name": "Role 1"
        },
        {
            "roleID": "3bc21132-079d-4ab9-b9f5-fe2428a281f1",
            "name": "Role 3"
        }
    ],
    "status": 0
}

但实际上我想要

{
       "buildingCode1": {
            "roleID": "0f752579-57cc-4266-a4b4-4759af97525e",
            "name": "Role 2"
                        },
     "buildingCode"2: {
            "roleID": "1914a479-cb75-48b9-b5c3-6792acfba7b3",
            "name": "Role 1"
                      },
      "buildingCode"3:  {
            "roleID": "3bc21132-079d-4ab9-b9f5-fe2428a281f1",
            "name": "Role 3"
                       },
    }