Как энтропия строки английского текста означает низкое качество?

Джефф Этвуд недавно написал в Твиттере ссылку на сообщение CodeReview, где он хотел знать, может ли сообщество улучшить его фрагмент кода« вычисления энтропии строки » Он объяснил: «Мы» Есть ли способ в Entity Framework автоматически ...

Предположим, у меня есть таблица со столбцом Описание, varchar (100). Если попытаться вставить строку, содержащую более 100 символов, вставка завершится неудачно.

Есть ли в Entity Framework способ автоматически обрезать или обрезать строку, чтобы она поместилась в столбец перед вставкой в ​​столбец? В моем сценарии меня действительно не волнует, усечена ли строка, я просто хочу, чтобы она была вставлена, а не просто сбой и запись ошибки.

Поскольку модель уже знает пределы длины, я подумал, что может быть способ для Entity Framework, чтобы сделать это за меня.

Если это не поддерживается, как лучше всего это сделать? Расширить автоматически сгенерированные частичные классы и переопределить методы On * Changed? Я бы предпочел не жестко указывать ограничения длины, а лучше использовать пределы длины, уже определенные в модели объекта. Как я могу получить к нему доступ?

Править

Моим окончательным решением было реализовать частичный метод On * Changed для автоматически сгенерированного объекта.

Я использовал этот метод получения ObjectContext из экземпляра объекта, а затем использовал метод ниже, чтобы извлечь максимальную длину и обрезать строку.

15
задан Mas 23 February 2011 в 13:02
поделиться