如何:将对象模型生成为外部文件 (LINQ to SQL)

作为基于属性的映射的替代方法,可以使用 SQLMetal 命令行工具将您的对象模型生成为外部 XML 文件。 有关更多信息,请参见SqlMetal.exe(代码生成工具)。 使用外部 XML 映射文件可以降低代码中的混乱程度。 您还可以通过修改该外部文件来更改行为,而无需重新编译应用程序的二进制文件。 有关更多信息,请参见外部映射引用 (LINQ to SQL)

注意注意

对象关系设计器 不支持生成外部映射文件。有关更多信息,请参见 对象关系设计器(O/R 设计器)对象关系设计器(O/R 设计器)对象关系设计器(O/R 设计器).

示例

下面的命令从 Northwind 示例数据库生成一个外部映射文件。

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

下面的内容摘自一个外部映射文件,用于演示 Northwind 示例数据库中的 Customers 表的映射。 这段摘录内容是通过使用 /map 选项执行 SQLMetal 而生成的。

<?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)