Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
LINQ to SQL сопоставляет базу данных SQL Server с объектной моделью LINQ to SQL, применяя атрибуты или используя внешний файл сопоставления. В этом разделе описывается подход на основе атрибутов.
В своей самой элементарной форме LINQ to SQL сопоставляет базу данных с DataContext, таблицу с классом и столбцы и связи со свойствами этих классов. Вы также можете использовать атрибуты для сопоставления иерархии наследования в объектной модели. Дополнительные сведения см. в статье "Практическое руководство. Создание объектной модели в Visual Basic или C#".
Разработчики, использующие Visual Studio, обычно выполняют сопоставление на основе атрибутов с помощью конструктора реляционных объектов. Вы также можете использовать средство командной строки SQLMetal или самостоятельно закодируйте атрибуты. Дополнительные сведения см. в статье "Практическое руководство. Создание объектной модели в Visual Basic или C#".
Замечание
Вы можете также сопоставлять, используя внешний XML-файл. Дополнительные сведения см. в разделе "Внешнее сопоставление".
В следующих разделах подробно описано сопоставление на основе атрибутов. Дополнительные сведения см. в System.Data.Linq.Mapping пространстве имен.
Атрибут DatabaseAttribute
Используйте этот атрибут, чтобы указать имя базы данных по умолчанию, если имя не предоставляется подключением. Этот атрибут является необязательным, но при его использовании необходимо применить Name свойство, как описано в следующей таблице.
Недвижимость | Тип | По умолчанию | Описание |
---|---|---|---|
Name | Струна | См. Name | Используется с его Name свойством, указывает имя базы данных. |
Дополнительные сведения см. в разделе DatabaseAttribute.
Атрибут TableAttribute
Используйте этот атрибут, чтобы назначить класс как класс сущности, связанный с таблицей базы данных или представлением. LINQ to SQL обрабатывает классы, имеющие этот атрибут как постоянные классы. В таблице ниже описано свойство Name.
Недвижимость | Тип | По умолчанию | Описание |
---|---|---|---|
Name | Струна | Та же строка, что и имя класса | Назначает класс как класс сущности, связанный с таблицей базы данных. |
Дополнительные сведения см. в разделе TableAttribute.
Атрибут "ColumnAttribute"
Используйте этот атрибут для назначения члена класса сущности для представления столбца в таблице базы данных. Этот атрибут можно применить к любому полю или свойству.
Только те элементы, которые вы определяете как столбцы, извлекаются и сохраняются при сохранении LINQ to SQL изменений в базе данных. Предполагается, что элементы без этого атрибута не являются постоянными и не отправляются для вставок или обновлений.
В следующей таблице описываются свойства этого атрибута.
Недвижимость | Тип | По умолчанию | Описание |
---|---|---|---|
AutoSync | Автосинхронная синхронизация | Никогда | Указывает среде выполнения CLR извлечь значение после операции вставки или обновления. Параметры: Always, Never, OnUpdate, OnInsert. |
CanBeNull | Булев тип | true |
Указывает, что столбец может содержать значения NULL. |
DbType | Струна | Тип выводимого столбца базы данных | Использует типы баз данных и модификаторы для указания типа столбца базы данных. |
Expression | Струна | Пусто | Определяет вычисляемый столбец в базе данных. |
IsDbGenerated | Булев тип | false |
Указывает, что столбец содержит значения, создаваемые базой данных автоматически. |
IsDiscriminator | Булев тип | false |
Указывает, что столбец содержит дискриминационные значения иерархии наследования LINQ to SQL. |
IsPrimaryKey | Булев тип | false |
Указывает, что этот член класса представляет столбец, который является или является частью первичных ключей таблицы. |
IsVersion | Булев тип | false |
Определяет, является ли тип столбца члена меткой времени в базе данных или номером версии. |
UpdateCheck | UpdateCheck |
Always , если IsVersiontrue для члена |
Указывает, какой подход использует LINQ to SQL для обнаружения конфликтов оптимистического параллелизма. |
Дополнительные сведения см. в разделе ColumnAttribute.
Замечание
Значения свойств AssociationAttribute и ColumnAttribute Storage чувствительны к регистру. Например, убедитесь, что значения, используемые в атрибуте свойства AssociationAttribute.Storage, соответствуют регистру соответствующих имен свойств, используемых в другом месте кода. Это относится ко всем языкам программирования .NET, даже тем, которые обычно не чувствительны к регистру, включая Visual Basic. Дополнительные сведения о свойстве хранилища см. в разделе DataAttribute.Storage.
Атрибут AssociationAttribute атрибут
Используйте этот атрибут, чтобы назначить свойство для представления связи в базе данных, например связи внешнего ключа с первичным ключом. Дополнительные сведения о связях см. в разделе "Практическое руководство. Сопоставление связей базы данных".
В следующей таблице описываются свойства этого атрибута.
Недвижимость | Тип | По умолчанию | Описание |
---|---|---|---|
DeleteOnNull | Булев тип | false |
Если он помещается в ассоциацию, элементы внешнего ключа которых не являются null, удаляет объект, если для связи задано значение NULL. |
DeleteRule | Струна | Отсутствует | Добавляет действие удаления в ассоциацию. |
IsForeignKey | Булев тип | false |
Если значение равно true, этот член обозначается как внешний ключ в ассоциации, представляющей отношения в базе данных. |
IsUnique | Булев тип | false |
Если true, устанавливается ограничение уникальности на внешний ключ. |
OtherKey | Струна | Идентификатор связанного класса | Указывает один или несколько членов целевого класса сущности в качестве ключевых значений на другой стороне ассоциации. |
ThisKey | Струна | Идентификатор содержащего класса | Назначает участников этого класса сущностей, чтобы представлять ключевые значения на этой стороне ассоциации. |
Дополнительные сведения см. в разделе AssociationAttribute.
Замечание
Значения свойств AssociationAttribute и ColumnAttribute Storage чувствительны к регистру. Например, убедитесь, что значения, используемые в атрибуте свойства AssociationAttribute.Storage, соответствуют регистру соответствующих имен свойств, используемых в другом месте кода. Это относится ко всем языкам программирования .NET, даже тем, которые обычно не чувствительны к регистру, включая Visual Basic. Дополнительные сведения о свойстве хранилища см. в разделе DataAttribute.Storage.
Атрибут InheritanceMappingAttribute
Используйте этот атрибут для сопоставления иерархии наследования.
В следующей таблице описываются свойства этого атрибута.
Недвижимость | Тип | По умолчанию | Описание |
---|---|---|---|
Code | Струна | Нет. Необходимо указать значение. | Указывает значение кода дискриминационного объекта. |
IsDefault | Булев тип | false |
Если значение true, создает экземпляр объекта этого типа, когда ни одно значение дискриминатора в хранилище не совпадает с любым из указанных значений. |
Type | Тип | Нет. Необходимо указать значение. | Указывает тип класса в иерархии. |
Дополнительные сведения см. в разделе InheritanceMappingAttribute.
Атрибут функции FunctionAttribute
Используйте этот атрибут, чтобы назначить метод как представляющий хранимую процедуру или определяемую пользователем функцию в базе данных.
В следующей таблице описаны свойства этого атрибута.
Недвижимость | Тип | По умолчанию | Описание |
---|---|---|---|
IsComposable | Булев тип | false |
Если значение false, указывает сопоставление с хранимой процедурой. Если значение true, указывает сопоставление с определяемой пользователем функцией. |
Name | Струна | Та же строка, что и имя в базе данных | Указывает имя хранимой процедуры или определяемой пользователем функции. |
Дополнительные сведения см. в разделе FunctionAttribute.
Атрибут ParameterAttribute
Используйте этот атрибут для сопоставления входных параметров с методами хранимой процедуры.
В следующей таблице описываются свойства этого атрибута.
Недвижимость | Тип | По умолчанию | Описание |
---|---|---|---|
DbType | Струна | Отсутствует | Указывает тип базы данных. |
Name | Струна | Та же строка, что и имя параметра в базе данных | Задает имя параметра. |
Дополнительные сведения см. в разделе ParameterAttribute.
Атрибут ResultTypeAttribute
Используйте этот атрибут для указания типа результата.
В следующей таблице описываются свойства этого атрибута.
Недвижимость | Тип | По умолчанию | Описание |
---|---|---|---|
Type | Тип | (Нет) | Используется для методов, сопоставленных с хранимыми процедурами, которые возвращают результат IMultipleResults. Объявляет допустимые или ожидаемые сопоставления типов для хранимой процедуры. |
Дополнительные сведения см. в разделе ResultTypeAttribute.
Атрибут "DataAttribute"
Используйте этот атрибут для указания имен и полей частного хранилища.
В следующей таблице описываются свойства этого атрибута.
Недвижимость | Тип | По умолчанию | Описание |
---|---|---|---|
Name | Струна | Совпадает с именем в базе данных | Указывает имя таблицы, столбца и т. д. |
Storage | Струна | Общедоступные методы доступа | Указывает имя базового поля хранилища. |
Дополнительные сведения см. в разделе DataAttribute.