2017-05-29 237 views
1

獲取數據信息參考我有兩個表:外鍵實體框架

車輛類型:

TYPEID TYPENAME 
1  CAR 
2  TRUCK 

車輛

VEHICLEID TYPEID VEHICLENO 
1   1  XX-XX-XX-XXXX 
2   2  XX-XX-XX-XXXX 

當我使用實體框架,那麼所有的車輛數據它會喜歡:

{ 
    VEHICLEID : 1, 
    TYPE : { TYPEID : 1, TYPENAME : 'CAR' }, 
    VEHICLENO : XX-XX-XX-XXXX 
} 

注意:我使用ASP.NET MVC,導入數據庫(.edmx)。請幫助創建viewmodel和這種類型的輸出。

+0

你有任何的代碼嗎?你使用C#還是VB? –

+0

不,只導入.edmx。我想爲此創建ViewModel。 –

回答

0

我是有點慢,但建立在什麼@Saket貼:

的ViewModels

public class VehicleViewModel{ 
    public int vehicleId { get; set; } 
    public string VehicleNo { get; set; } 
    public VehicleType vehicleType { get; set; } 
} 

public class VehicleType{ 
    public int TypeId { get; set; } 
    public string TypeName { get; set; } 
} 

這可能不準確,因爲我不知道你的數據庫結構,但這將是一個很好的代碼填充你的viewModel(s)的起點:

public IList<VehicleViewModel> GetAllVehicles(){ 
    var results = new List<VehicleViewModel>(); 
    using(var db = new DbContext()){ 
     var rawDbData = db.Vehicles.Include("VehicleTypes").ToList(); 
     foreach(var rawData in rawDbData){ 
      results.add(new VehicleViewModel{ 
       vehicleId = rawData.VehicleId, 
       VehicleNo = rawData.VehicleNo, 
       vehicleType = new VehicleType{ 
        TypeId = rawData.VehicleTypes.TypeId, 
        TypeName = rawData.VehicleTypes.TypeName 
       } 
      }) 
     } 
    } 
    return results; 
} 
1

請檢查下面列出適合您ViewModel

public class VehicleDetails 
{ 
    public int VehicleID { get; set; } 
    public VehicleType Type { get; set; } 
    public string VehicleNo { get; set; } 
} 

public class VehicleType 
{ 
    public int TypeID { get; set; } 
    public string TypeName { get; set; } 
}