Как Linq определяет, есть ли в поле ввода поле для хранения? - PullRequest
0 голосов
/ 17 февраля 2010

Я просматривал файл dbml в редакторе xml и заметил, что некоторые свойства имеют поле для хранения, а некоторые - нет. Я также заметил, что у некоторых было имя, которое, как я предполагаю, является именем поля в sql. Если свойство в файле dbml имеет имя, отличное от имени в sql, оно добавит атрибут member. Я не понимаю, почему некоторые поля имеют атрибут хранения, а некоторые нет?

Ответы [ 2 ]

1 голос
/ 17 февраля 2010

Из MSDN

**DataAttribute.Storage Property**
Gets or sets a private storage field to hold the value from a column.

Посмотрите здесь

0 голосов
/ 08 ноября 2011

Иногда поле в базе данных имеет имя, которое не слишком полезно для объяснения того, что оно делает, и поэтому программист изменит имя в коде, чтобы помочь им вспомнить, для чего оно предназначено, и добавит параметр Name, чтобы сообщить Linq, чтоэто на самом деле хранится в другом месте.

То, что делает свойство Storage, позволяет вам помещать бизнес-логику в средства доступа к общедоступным полям и, тем не менее, разрешать Linq получать доступ к данным напрямую, не проходя эту бизнес-логику.Таким образом, Linq не будет запускать ваш бизнес-код каждый раз, он просто загрузит и сохранит данные из вашей личной переменной хранения.

См .: http://msdn.microsoft.com/en-us/library/bb386940.aspx

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