初めて EF を使用するので、このような状況が正常なのか、深刻なパフォーマンスの問題があるのか わかりません。
次の状況があります。
以下は私が持っているクラスです。ここではアイテムが主なオブジェクトです。したがって、データベースからアイテムのリストを取得すると、たとえば 1000 個のアイテムが取得されます。そして、この各アイテムには、すべてのプロパティがデータとともにファイルされています。都市には国が含まれ、国には都市のリストが含まれ、ユーザーは作成されたアイテムのリストを持ち、各アイテムは再びすべてのデータを持ち、都市、都市には国があり、都市の国のリストなど...
多分私は心配しすぎてわかりませんこのオブジェクトにはこれらすべてのデータが含まれている必要がありますか?これによりパフォーマンスの問題が発生しますか?それともここで何か間違ったことをしていますか?
public abstract class Item
{
[Key]
public int ItemId { get; set; }
public int ItemTypeId { get; set; }
public Guid UserId { get; set; }
public DateTime CreatedOnDate { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public int? MediaId { get; set; }
public int CityId { get; set; }
public virtual City City { get; set; }
public virtual User User { get; set; }
public virtual ICollection<ItemInBoard> ItemsInBoard { get; set; }
public virtual ICollection<Like> Likes { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}
public class City
{
public int CityId { get; set; }
public string Name { get; set; }
public double Longitude { get; set; }
public double Latitude { get; set; }
public int CountryId { get; set; }
public virtual Country Country { get; set; }
}
public class Country
{
public int CountryId { get; set; }
public string Name { get; set; }
public string CountryCode { get; set; }
public virtual ICollection<City> Cities { get; set; }
}
public class User
{
public Guid UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public bool Gender { get; set; }
public DateTime? BirthDay { get; set; }
public string AboutMe { get; set; }
public int? MediaId { get; set; }
public int CityId { get; set; }
public virtual City City { get; set; }
public virtual ICollection<Item> Items { get; set; }
public virtual ICollection<Board> Boards { get; set; }
public virtual ICollection<Like> Likes { get; set; }
}