如何更新的LINQ to SQL的dbml文件?如何更新的LINQ to SQL的dbml文件?(H

2019-06-02 13:04发布

如何更新的LINQ to SQL .dbml文件?

Answer 1:

有三种方法来保持模型同步。

  1. 从设计师删除修改的表,并从数据库资源管理拖回到设计表面。 我发现,这个可靠地工作,你必须:

    一个。 在刷新Database Explorer中的数据库模式(右键点击,刷新)
    湾 保存设计师删除表之后
    C。 拖动表格回来后再次保存。

    请注意 ,如果您修改了任何属性(例如,关闭关联的子属性),这显然会失去这些修改-你将不得不再次让他们。

  2. 使用SQLMetal从数据库重新架构。 我已经看到了一些博客文章,显示的如何编写脚本此 。

  3. 直接做在DBML的属性窗格变化。 这适用于简单的变化,比如允许在一个字段空值。

该DBML设计师默认情况下不会在Visual Studio 2015年或Visual Studio 2017年安装的,您将不得不关闭VS,启动VS安装程序并修改安装。 在LINQ to SQL的工具是必须安装的功能。



Answer 2:

要更新表中的.dbml的,用图表,例如,添加列,这样做:

  1. 更新您的SQL Server Explorer窗口。
  2. 拖动表格的“新”版本到的.dbml-图(在下面的图片报告1)。

  1. 标志着该表的新版本中添加的列,按Ctrl + C复制添加列。

  1. 点击你的表的“旧”版本,按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显示屏没有显示新的外键约束


请注意,在主要答复的指示不明确。 要更新表

  1. 打开dbml的设计图面
  2. 选择用右键- >单击-所有表>全选或CTRL
  3. CTRL X(剪切)
  4. CTRL V(粘贴)
  5. 保存并重新生成解决方案。


Answer 7:

在存储过程中更新的情况下,你应该从.dbml文件删除,并再次重新插入。 但是,如果存储过程有两个路径(例如:如果事情;显示部分列;否则,显示一些列),确保这两个路径具有相同的列别名! 否则,只有第一路径列将存在。



文章来源: How do I update a Linq to SQL dbml file?
标签: linq-to-sql