Какой самый простой способ подключить приложение C # к базе данных SQL-сервера Azure с использованием учетной записи Active Directory? - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь подключиться к Azure SQL Server, используя пароль Active Directory. В соответствии с тем, что я прочитал, мне нужно создать строку подключения, используя userId моего домена Active Directory и его пароль:

SqlConnectionStringBuilder nuevaCadena = new SqlConnectionStringBuilder();
nuevaCadena.DataSource = "***.database.windows.net";
nuevaCadena.InitialCatalog = "dbname";
nuevaCadena.PersistSecurityInfo = false;
nuevaCadena.UserID = "my_email_registered_on-the-domain";
nuevaCadena.Password = "my-password";
nuevaCadena.MultipleActiveResultSets = false;
nuevaCadena.Encrypt = true;
nuevaCadena.TrustServerCertificate = false;
nuevaCadena.Authentication =     SqlAuthenticationMethod.ActiveDirectoryPassword;
        conexionBase = nuevaCadena.ToString();

EntityConnectionStringBuilder entityBuilder =
            new EntityConnectionStringBuilder();

entityBuilder.Provider = "System.Data.SqlClient";
entityBuilder.ProviderConnectionString = conexionBase;
entityBuilder.Metadata = "metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl";

Контекст создается, но когда я пытаюсь запросить некоторые данные: вернуть контекст.motorizado.ToList ();

Я получаю следующее сообщение об ошибке:

"Исключение типа 'System.Data.Entity.Core.MetadataException' произошло в> EntityFramework. dll, но не был обработан в коде пользователя Дополнительная информация: по крайней мере один из входных путей недопустим, потому что> он слишком длинный или имеет неправильный формат. "

1 Ответ

0 голосов
/ 04 ноября 2019

entityBuilder.Metadata, кажется, имеет неправильный формат.

Просто попробуйте это:

entityBuilder.Metadata = @"res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...