Я хочу определить общую сущность, как показано ниже:
class Image
{
public int ID { get; set; }
public string FileName { get; set; }
public int Length { get; set; }
public byte[] Data { get; set; } // image binary data
...
}
Потому что у меня есть несколько сущностей, которые будут иметь отношение один-ко-многим к сущности изображения.
class Product
{
public int ID { get; set; }
public string ProductName { get; set; }
List<Image> ProductAvatars { get; set; }
...
}
class Category
{
public int ID { get; set; }
public string CategoryName { get; set; }
List<Image> CategoryAvatars { get; set; }
...
}
Я думаю, что сущность Image не принадлежит одной конкретной сущности (например, Product или Category), поэтому определять внешние ключи в Image
не имеет смысла. Должен ли я добавить больше таблиц связей, как показано ниже?
class ProductAvatars
{
public int ProductID { get; set; }
public int ImageID { get; set; } // it's a foreign key of Image entity
}
class CategoryAvatars
{
public int CategoryID { get; set; }
public int ImageID { get; set; } // it's a foreign key of Image entity
}
Как этого добиться? Пожалуйста, дайте мне несколько советов, спасибо всем!