У меня есть база данных SQL, с которой я собираюсь взаимодействовать через LINQ после ее создания.
У него есть клиент, который имеет (игнорируя остальные) два поля fkID для двух таблиц.
Класс
Страна
Я пытаюсь сохранить таблицу «Правила», где происходит следующее:
if the Class is 'A' and the Country is 'USA' then
create rows 'RowsA' in table todo
else if the class is 'A' and the country is not 'USA' then
create rows 'RowsB' in table todo
else
create rows 'RowsC' in table todo
Итак, лучший способ сделать это, чтобы иметь в таблице правил
Идентификатор RuleID
ClassFK Int
null
CountryFK Int null
заказ
int not null
и мой код C # делает следующее:
var rules = from r in db.Rules
orderby r.order
select r;
foreach(rule in rules)
{
if (((client.ClassFK == rule.ClassFK) || (rule.ClassFK == null)) &&
((client.CountryFK== rule.CountryFK) || (rule.CountryFK== null)))
{
// Create The Rows
}
}
Мне это кажется ужасно хрупким