VS2010 DBML Designer重命名关联

时间:2014-10-15 13:00:38

标签: visual-studio-2010 linq-to-sql sqlmetal dbml

我们使用SQL Server数据工具项目(.sqlproj)管理数据库的结构,在Visual Studio中创建新对象并将它们发布到SQL Server实例(直接或通过生成发布脚本)。

SSDT使用格式

自动命名FK
  

FK_ThisTable_ThatTable

我们使用SqlMetal生成Linq-to-SQL DBML。

<Table Name="dbo.Foo" Member="Foos">
  <Type Name="Foo">
    <Column Name="FooID" Type="System.Int32" DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
    <Column Name="Value" Type="System.String" DbType="VarChar(50)" CanBeNull="true" />
    <Column Name="BarID" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
    <Association Name="FK_Foo_Bar" Member="Bar" ThisKey="BarID" OtherKey="BarID" Type="Bar" IsForeignKey="true" DeleteOnNull="true" />
  </Type>
</Table>

如果我在VisualStudio的设计器中打开DBML,修改图表布局并保存,DBML现在包含

    <Association Name="Bar_Foo" Member="Bar" ThisKey="BarID" OtherKey="BarID" Type="Bar" IsForeignKey="true" DeleteOnNull="true" />

这意味着由于MSLinqToSQLGenerator进行了不必要的更改以及在运行SqlMetal后恢复原始名称,因此TFS源代码控制中的DBML文件的历史记录要难得多。

如何阻止Visual Studio的DBML Designer修改FK名称?

0 个答案:

没有答案