Например, у меня есть Область, которая имеет некоторые точки данных, которые должны сохраняться (имя, идентификатор), а некоторые являются временными (игроки, предметы, возможно, эффект заклинания на области, например огненный шторм, который не следует сохранять в базе данных)? Хочу ли я отдельную модель?
Код: Выделить всё
class AreaRecord {
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
class Area {
public AreaRecord AreaRecord { get; set; }
public ICollection
Players { get; } = new List();
public ICollection Effects { get; } = new List();
public string GetExample() { return AreaRecord.Name + " has " + Players.Count; }
}
Это умножается на множество (ItemRecord/ Item, PlayerRecord/Player, AreaRecord/Area, RoomRecord/Room) и так далее. Это правильный подход? Какие ключевые слова или темы мне следует прочитать, чтобы понять, правильный ли это подход или найти лучший подход?
На данный момент я понимаю, что модели EF Core не должны иметь бизнес-логику из-за ограничений, при которых у вас не может быть общедоступных установщиков для данных, которые не должны сохраняться. И я беспокоюсь о случайном добавлении нового столбца базы данных, если я использую Area в качестве модели бизнес-логики.
Я думаю, что часть моей проблемы заключается в поиске правильной терминологии, чтобы даже исследовать или задавать вопросы вопрос.
Подробнее здесь: https://stackoverflow.com/questions/784 ... model-data