在上下文类中,我有以下内容使项目成为数据的黑匣子。
public MyEntities()
: base("metadata = res://*/fda.csdl|res://*/fda.ssdl|res://*/fda.msl;provider=System.Data.SqlClient;provider connection string='data source=MyServer;initial catalog=CitywideEmployees;persist security info=True;user id=MyUserID;password=MyPassword!;MultipleActiveResultSets=True;App=EntityFramework'")
{
}
但是,当我使用“从数据库更新模型”选项更新edmx时,它总是会重置基本参数,就像它想在App.config文件中查找连接字符串一样。如何避免每次更新edmx时都必须更新基础?
谢谢。
答案 0 :(得分:1)
打开您的{您的名字} .Context.tt并保存以下更改
<#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : DbContext
{
public <#=code.Escape(container)#>()
: base("name=<#=container.Name#>")
{
<#
在引号中说“ name = <#= container.Name#>”
替换为
<#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : DbContext
{
public <#=code.Escape(container)#>()
: base("metadata = res://*/fda.csdl|res://*/fda.ssdl|res://*/fda.msl;provider=System.Data.SqlClient;provider connection string='data source=MyServer;initial catalog=CitywideEmployees;persist security info=True;user id=MyUserID;password=MyPassword!;MultipleActiveResultSets=True;App=EntityFramework'")
{
<#
保存您的tt文件