Как я могу добавить ограничения к объекту ADO.NET?

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

Эта функция отсутствует в конструкторе или в фреймворке?

1 ответ

Решение

Поддержка уникальных ключей / ограничений не существует в ADO.NET Entities в v4.0, см. Ответ на " однозначное сопоставление внешнего ключа с уникальным ограничением", где Диего Б. Вега говорит:

Я точно знаю, что мы не добавили поддержку уникальных ключей кроме первичных ключей в 4.0.

Он, однако, обеспечивает возможный обходной путь / взлом (который идет со всеми обычными предостережениями):

Как вы, вероятно, знаете, часто можно "солгать" Entity Framework и сказать ему, например, в SSDL, что какой-то уникальный ключ является первичным ключом. Я считаю, что это будет работать очень хорошо, если фактический первичный ключ является суррогатным ключом (т. Е. Столбец IDENTITY, который был добавлен для этой цели), и вам даже не нужно отображать его в модели.