С EF вы можете указать составной ключ с HasKey
, поэтому я предполагаю, что есть способ использовать сущность в качестве параметра некоторого API, чтобы найти его в базе данных, но я не могу понять, как.
API Find
, который я надеялся использовать, требует массива значений ключей, но я ищу что-то вроде этого:
var setting = new Setting { Name = "WindowSize" };
setting = context.Find(setting);
Поскольку я могу указать все ключи с помощью modelBuilder.Entity<Setting>.HasKey(s => new { s.Name })
должен быть способ повторно использовать его. Знаете ли вы API или трюк , чтобы заставить его работать таким образом?
Модель Setting
является заменяемой и может иметь другие ключевые столбцы. Я хотел бы иметь возможность автоматически найти его без необходимости дважды указывать критерии.
Это означает, что может быть:
modelBuilder.Entity<Setting>.HasKey(s => new { s.Name, s.Version })
Я бы хотел, чтобы это определение было повторно использовано для запросов без меня, чтобы сказать Find("name", "version")
et c. но context.SomeAPI(settingWithTwoKeys)
.