These are my classes:
public class HotelRoomRatingView
{
public int HotelID { get; set; }
public roomKinds RoomKinds { get; set; }
public HotelReview HotelReview { get; set; }
public HotelRoomRatingView()
{
}
public HotelRoomRatingView(int hotelId, roomKinds rooms, HotelReview review)
{
this.HotelID = hotelId;
this.RoomKinds = rooms;
this.HotelReview = review;
}
}
public class HotelReview
{
public int HotelReviewID { get; set; }
public double Rating { get; set; }
public List<Review> Reviews { get; set; }
public HotelReview()
{
this.Reviews = new List<Review>();
}
}
public partial class roomKinds : object, System.ComponentModel.INotifyPropertyChanged
{
[Key]
public int roomKindsId { get; set; }
private ObservableCollection<objectKind> objectKindField;
public roomKinds()
{
}
public roomKinds(Class.roomKinds origin)
{
this.objectKindField = origin.objectKind;
}
[System.Xml.Serialization.XmlElementAttribute(Order = 0)]
public ObservableCollection<objectKind> objectKind
{
get
{
return this.objectKindField;
}
set
{
this.objectKindField = value;
this.RaisePropertyChanged("objectKind");
}
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName)
{
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
if ((propertyChanged != null))
{
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
}
public partial class Hotel : object, System.ComponentModel.INotifyPropertyChanged
{
[Key]
public int HotelId { get; set; }
private int hotIdField;
// many others properties
[System.Xml.Serialization.XmlElementAttribute(Order = 105)]
public HotelReview hotelReview
{
get;
set;
}
[System.Xml.Serialization.XmlElementAttribute(Order = 104)]
public roomKinds rooms
{
get;
set;
}
[System.Xml.Serialization.XmlElementAttribute(Order = 0)]
public int hotId
{
get
{
return this.hotIdField;
}
set
{
this.hotIdField = value;
this.RaisePropertyChanged("hotId");
}
}
}
Get method in my repository looks like this:
public Models.Hotel Get(int id)
{
return db.hotels.SingleOrDefault(h => h.hotId == id);
}
HotelId and hotId are okay I need it this way. So I am getting Hotel from database by LINQ and I get Hotel but I am not getting data from other tables. I am not getting HotelReview and RoomKinds. I got null in these properties but in database they are and they are connected with Hotel by ID.
Thanks for help
You will need to load those explicitly by using
.Include:UPDATE
Assuming your entities are linked up properly, you should be able to just continue down the chain in your .Include: