Конструктор Dbcontext продолжает менять базовый аргумент при обновлении модели - PullRequest
0 голосов
/ 28 сентября 2018

В моем классе контекста у меня есть следующее, чтобы сделать проект черным ящиком для данных.

     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?

Спасибо.

1 Ответ

0 голосов
/ 30 сентября 2018

Откройте ваше {ваше имя} .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

...