如何更新的LINQ to SQL .dbml文件?
Answer 1:
有三种方法来保持模型同步。
从设计师删除修改的表,并从数据库资源管理拖回到设计表面。 我发现,这个可靠地工作,你必须:
一个。 在刷新Database Explorer中的数据库模式(右键点击,刷新)
湾 保存设计师删除表之后
C。 拖动表格回来后再次保存。但请注意 ,如果您修改了任何属性(例如,关闭关联的子属性),这显然会失去这些修改-你将不得不再次让他们。
使用SQLMetal从数据库重新架构。 我已经看到了一些博客文章,显示的如何编写脚本此 。
直接做在DBML的属性窗格变化。 这适用于简单的变化,比如允许在一个字段空值。
该DBML设计师默认情况下不会在Visual Studio 2015年或Visual Studio 2017年安装的,您将不得不关闭VS,启动VS安装程序并修改安装。 在LINQ to SQL的工具是必须安装的功能。
Answer 2:
要更新表中的.dbml的,用图表,例如,添加列,这样做:
- 更新您的SQL Server Explorer窗口。
- 拖动表格的“新”版本到的.dbml-图(在下面的图片报告1)。
- 标志着该表的新版本中添加的列,按Ctrl + C复制添加列。
- 点击你的表的“旧”版本,按Ctrl + V将增加的列粘贴到表中已经存在的版本。
Answer 3:
你也可以检查出PLINQO集的代码生成模板,基于CodeSmith的,它允许你做了很多的充满新奇事物的LINQ到SQL:
- 生成每一个类文件(而不是一个单一的,巨大的文件)
- 根据需要更新您的模型
- 还有更多的功能
看看在现场PLINQO http://www.plinqo.com和看看的介绍视频。
第二个工具,我知道的是Huagati DBML / EDMX工具 ,它允许DBML(LINQ到SQL)和EDMX(实体框架)映射文件的更新,多(如命名约定等)。
渣
Answer 4:
我们使用动态查询每个表的INFORMATION_SCHEMA模式在我们所有的.dbml文件的定制书面的T4模板,然后覆盖从数据库架构新鲜的信息.dbml文件的组成部分。 我强烈建议实施这样一个解决方案-它节省了我的时间巴菲特真,不像删除和重新加入表格,你的模型你能保持你的协会。 有了这个解决方案,你会得到编译时错误时,你的架构更改。 你要确保你使用版本控制系统,但因为版本比较是非常方便的。 这是一个伟大的解决方案,工作得很好,如果你与一个DB模式第一种方法开发。 当然,我不能分享我公司的代码,所以你对你自己的这个自己编写。 但是,如果你知道一些LINQ到XML,可以去学校在这个项目上 ,你可以得到你想要的。
Answer 5:
我会建议使用内置VS2008的可视化设计,为更新的dbml也更新为您生成的代码。 修改DBML可视化设计的外部将导致底层代码不同步的。
Answer 6:
有一个细微差别更新表然后更新DBML ...外键关系并非总是立即带过来的,如果改变现有的表进行。 解决方法是做项目的建设,然后再重新添加表。 我报这MS和其正固定VS2010。
DBML显示屏没有显示新的外键约束
请注意,在主要答复的指示不明确。 要更新表
- 打开dbml的设计图面
- 选择用右键- >单击-所有表>全选或CTRL 一
- CTRL X(剪切)
- CTRL V(粘贴)
- 保存并重新生成解决方案。
Answer 7:
在存储过程中更新的情况下,你应该从.dbml文件删除,并再次重新插入。 但是,如果存储过程有两个路径(例如:如果事情;显示部分列;否则,显示一些列),确保这两个路径具有相同的列别名! 否则,只有第一路径列将存在。