自定义Visual Studio XSD生成规则 实现外键及级联删除正确生成
解决方案
一、GUI操作方式(无需额外工具,直接在VS2019中调整)
- 拖拽完数据表生成XSD后,在设计视图中选中自动生成的关系对象(两个表之间的连线),右键选择「编辑关系」
- 在弹出的关系编辑窗口中,找到外键约束选项,勾选「创建外键约束」,不要仅保留「仅关系」选项
- 级联删除配置在同一窗口的「更新规则」「删除规则」下拉框中选择
Cascade,确认保存后重新生成XSD即可 - 注意:如果需要下次拖拽自动生效,需要先在源数据库中确保外键的
ON DELETE CASCADE配置已经正确开启,VS会优先读取数据库元数据,只要数据库侧外键配置正确,勾选一次后后续拖拽生成会默认保留该配置
二、命令行生成方式(适合批量操作场景)
- 你可以直接调用.NET Framework自带的
xsd.exe工具生成强类型数据集,要让生成的XSD自动识别外键并保留级联删除,需要额外添加/fks参数,完整命令示例:
xsd.exe /d /fks /l:CS /conn:"Server=你的服务器地址;Database=你的库名;Integrated Security=True" /out:输出目录路径
/fks参数的作用就是强制工具将数据库中的外键约束生成为XSD中的外键对象,而不是普通关系对象,同时会自动读取数据库中的级联删除、级联更新配置写入生成的文件
验证方式
生成完成后可以直接打开XSD的XML源码,查找<xs:keyref>节点,只要该节点的refer属性指向主表的主键节点,且子节点<xs:annotation>下包含<xs:appinfo>的Cascade配置说明,就说明生成正确
内容的提问来源于stack exchange,提问作者user3688731
相关产品推荐
相关产品推荐

