У меня есть таблица с именем Orders, в которой есть столбец с именем OrderCode, в котором хранится строка, которую я генерирую случайным образом во время создания.
Я хочу убедиться, что эта строка (OrderCode) уникальна, прежде чем сохранить ее в своей таблице.
Как я пытался это сделать:
bool isUnique = false;
var order = new Order();
var code = RandomCode.Generate();
while (isUnique == false) // checks to see if the code we generated is unique among all generated codes, if not, will generate another code
{
var activeOrders = storeDB.Orders.Find("OrderCode", code);
if (activeOrders == null)
{
isUnique = true;
}
else
{
code = RandomCode.Generate();
}
}
order.OrderCode = code;
Проблема заключается в том, что метод DbSet<TEntity>.Find
фактически используется для поиска по первичным ключам - но мне нужно найти строку, которая не является первичным ключом.
Как правильно подходить к этой ситуации?