ObjectContext.Translate: избежание ошибок отображения столбцов - PullRequest
2 голосов
/ 12 марта 2012

Я начал портировать старый код ADO.NET на Linq для сущностей.Одна особенно полезная функция - ObjectContext.Translate и ее компаньон ObjectContext.ExecuteStoreQuery, которые позволяют использовать произвольный SQL и развертывать их в простые старые объекты данных.

Однако,в отображении столбцов легко допустить ошибки: неправильно введенное имя столбца или другой регистр приводят к тому, что свойство .NET больше не соответствует предполагаемому столбцу SQL.Это особенно сложно определить, когда меняется схема БД.Когда свойство .NET не соответствует столбцу sql, исключение не выдается - вместо этого Linq для сущностей просто устанавливает для свойства значение по умолчанию (null, 0 и т. Д.),Это поведение иногда может быть полезным, позволяя типам содержать дополнительные свойства, но оно также очень хорошо скрывает ошибки, особенно когда null или значение по умолчанию является допустимым значением для этого столбца.

Есть ли способизменить это поведение или хотя бы определить, когда оно происходит, чтобы такие ошибки были сразу очевидны?

Другими словами: можно ли принудительно установить, что форма объекта .NET должна точно соответствовать форме запроса SQL?

1 Ответ

2 голосов
/ 12 марта 2012

Нет, вы не можете применять его, но вы можете написать набор интеграционных тестов, которые автоматически проверят, что ваши классы по-прежнему имеют правильную форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...