Поделиться через


Как сформировать модель объектов в виде внешнего файла (LINQ to SQL)

В качестве альтернативы сопоставления на основе атрибутов с помощью инструмента командной строки SQLMetal можно создать собственную объектную модель в виде внешнего файла XML. Дополнительные сведения см. в разделе SqlMetal.exe (средство создания кода). За счет использования внешнего XML-файла сопоставления можно снизить перегруженность кода. Кроме того, можно изменить поведение, отредактировав внешний файл без повторной компиляции двоичных файлов приложения. Дополнительные сведения см. в разделе Справочные сведения о внешнем сопоставлении (LINQ to SQL).

ПримечаниеПримечание

Реляционный конструктор объектов не поддерживает создание внешнего файла сопоставления.Дополнительные сведения см. в следующем разделе. Реляционный конструктор объектов и Реляционный конструктор объектов и Реляционный конструктор объектов.

Пример

Следующая команда формирует внешний файл сопоставления из образца базы данных Northwind.

sqlmetal /server:myserver /database:northwind /map:externalfile.xml

Следующий фрагмент внешнего файла сопоставления показывает сопоставление для таблицы Customers в образце базы данных Northwind. Этот фрагмент создан путем запуска программы SQLMetal с параметром /map.

<?xml version="1.0" encoding="utf-8"?>
<Database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="northwnd">
  <Table Name="Customers">
    <Type Name=".Customer">
      <Column Name="CustomerID" Member="CustomerID" Storage="_CustomerID" DbType="NChar(5) NOT NULL" CanBeNull="False" IsPrimaryKey="True" />
      <Column Name="CompanyName" Member="CompanyName" Storage="_CompanyName" DbType="NVarChar(40) NOT NULL" CanBeNull="False" />
      <Column Name="ContactName" Member="ContactName" Storage="_ContactName" DbType="NVarChar(30)" />
      <Column Name="ContactTitle" Member="ContactTitle" Storage="_ContactTitle" DbType="NVarChar(30)" />
      <Column Name="Address" Member="Address" Storage="_Address" DbType="NVarChar(60)" />
      <Column Name="City" Member="City" Storage="_City" DbType="NVarChar(15)" />
      <Column Name="Region" Member="Region" Storage="_Region" DbType="NVarChar(15)" />
      <Column Name="PostalCode" Member="PostalCode" Storage="_PostalCode" DbType="NVarChar(10)" />
      <Column Name="Country" Member="Country" Storage="_Country" DbType="NVarChar(15)" />
      <Column Name="Phone" Member="Phone" Storage="_Phone" DbType="NVarChar(24)" />
      <Column Name="Fax" Member="Fax" Storage="_Fax" DbType="NVarChar(24)" />
      <Association Name="FK_CustomerCustomerDemo_Customers" Member="CustomerCustomerDemos" Storage="_CustomerCustomerDemos" ThisKey="CustomerID" OtherTable="CustomerCustomerDemo" OtherKey="CustomerID" DeleteRule="NO ACTION" />
      <Association Name="FK_Orders_Customers" Member="Orders" Storage="_Orders" ThisKey="CustomerID" OtherTable="Orders" OtherKey="CustomerID" DeleteRule="NO ACTION" />
    </Type>
  </Table>
</Database>

См. также

Задачи

Как создать объектную модель на языке Visual Basic или C# (LINQ to SQL)

Ссылки

Справочные сведения о внешнем сопоставлении (LINQ to SQL)

Другие ресурсы

Создание модели объектов (LINQ to SQL)