任何人都可以在 Visual Studio 中执行此操作,而无需使用服务器资源管理器吗?
我也试过看宏,但只录制产品
Sub TemporaryMacro()
End Sub
所以那里没有运气。
有什么方法可以编写这个脚本吗?
任何人都可以在 Visual Studio 中执行此操作,而无需使用服务器资源管理器吗?
我也试过看宏,但只录制产品
Sub TemporaryMacro()
End Sub
所以那里没有运气。
有什么方法可以编写这个脚本吗?
当基础表/视图更改时,我正在使用与此类似的批处理脚本来管理模型的更新。要使用它:
生成.bat:
sqlmetal /conn:"Data Source={Hostname};Initial Catalog={DBName};User ID={Username};Password={Password}" /dbml:temp.dbml /views
setlocal EnableDelayedExpansion
set file=chosenEntities.txt
set include=
FOR /F %%i IN (%file%) DO (
set include=!include!%%i,
)
set include=%include:~0,-1%
sqlmetalinclude -dbml:temp.dbml -output:ChosenEntities.dbml -include:%include%
sqlmetal /context:CustomDataContext /pluralize /namespace:MyNamespace.DB /language:csharp /code:DBEntities.cs /entitybase:DBEntityBase ChosenEntities.dbml
selectedEntities.txt 示例:
Accounts
Customers
PRODUCTS_VIEW
AnotherTable
解释:
SqlMetal Include对我来说就像一个魅力。首先使用 SqlMeta 创建一个完整的 dbml 文件 - 说 testComplete.dbml
现在将此文件作为 SqlMetaInclude 的输入提供 SqlMetalInclude /dbml:"testComplete.dbml" /output:"testSubSet.dbml" /include:dbo.SampleTable1=SampleTable1,dbo.SampleTable2=SampleTable2
请注意,此工具包含一个可以处理完整过程的 GUI。
有一个很好的实用程序可以帮助您从数据库中更新现有的 DBML 文件: Huagati DBML/EDMX 工具。
它不是免费的,但对于任何认真的 Linq-to-SQL 开发来说都值得投资。
唯一的选择是自己编写——读取数据库结构并将其与 DBML 中的 XML 表示进行比较,并根据需要更新 DBML。