Лучшие практики моделирования данных Entity FrameworkC#

Место общения программистов C#
Ответить
Anonymous
 Лучшие практики моделирования данных Entity Framework

Сообщение Anonymous »

У меня есть структура Entity, как показано ниже

Код: Выделить всё

public abstract class Entity
{
public int Id { get; set; }
}

public class User : Entity
{
public ICollection
 Products { get; set; }
}

public class Warehouse : Entity
{
public ICollection Products { get; set; }
}

public class Product : Entity
{
public Warehouse Warehouse { get; set; }

public User User { get; set; }
}
Как видите, у пользователя могут быть продукты, а на складе также могут быть продукты. Таким образом, платформа Entity помещает два внешних ключа в таблицу Product, которые могут иметь значение NULL.

Мы также могли бы достичь аналогичной структуры, немного моделируя различные сущности, как показано ниже.

Код: Выделить всё

 public class User : Entity
{
public ICollection Products { get; set; }
}

public class Warehouse : Entity
{
public ICollection Products { get; set; }
}

public class Product : Entity
{

}

public class WarehouseProduct : Entity
{
public Product Product { get; set; }
public Warehouse Warehouse { get; set; }
}

public class UserProduct : Entity
{
public Product Product { get; set; }
public User user { get; set; }
}
Первый дизайн выглядит проще без введения новых объектов, но не уверен, лучше он или нет.

Я пытаясь найти, что лучше или какие обстоятельства делают одно из них лучше другого.

Подробнее здесь: https://stackoverflow.com/questions/110 ... -practices
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»