Как ограничить строковые поля для LINQ to SQL - PullRequest
0 голосов
/ 06 августа 2011

Существует ли способ проверки с помощью событий в классе таблицы или DataContext, когда назначенное значение имеет длину строки>> определенной длины столбца для свойства.

  • Например:

`

[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.MyTable")]
    public partial class MyTable : INotifyPropertyChanging, INotifyPropertyChanged
    {

[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MyName", DbType="NVarChar(2)")]

        public string MyName
        {
            get
            {
                return this._MyName;
            }
            set
            {
                if ((this._MyName != value))
                {
                    this.OnCardholderNameChanging(value);
                    this.SendPropertyChanging();
                    this._CardholderName = value;
                    this.SendPropertyChanged("MyName");
                    this.OnCardholderNameChanged();
                }
            }
        }
}`


....

    myTable.MyName = "A long string that cant fit in DB":
dc.SubmitChanges();

Здесь происходит ошибка.

Есть ли событие, которое следует использовать для проверки значения свойства MyName, чтобы убедиться, что оно имеет длину, равную или меньшую максимальной длине, определенной в ColumnAttribute?Я видел статьи, в которых показано, как выполнять итерацию по каждому объекту / свойству, и ищет атрибут ColumnAttribute ( Limit String Field Lengths для LINQ to SQL ), однако это должно быть неэффективно, есть ли другой способ?

Спасибо, Джейсон (первый вопрос ко мне, извините за любые ошибки)

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